From f4794177a9a0142fc9484a0106c3c33b6043e072 Mon Sep 17 00:00:00 2001 From: Lila Rest Date: Tue, 8 Aug 2023 12:33:47 +0200 Subject: [PATCH] feat: configure launch chains + fix missings logos + new favicons --- .releaserc.json | 2 +- .vscode/settings.json | 78 +- CHANGELOG.md | 305 +- contracts/abis/LDYStaking.json | 372 +- contracts/abis/LToken.json | 641 +- ...ummyLDYStaking.ts => deploy-LDYStaking.ts} | 2 +- .../hardhat/scripts/deploy-all-august-2023.ts | 2 +- contracts/src/dev/LDYStaking.sol | 2 +- package.json | 3 +- pnpm-lock.yaml | 1347 ++-- public/assets/chains/arbitrum-goerli.png | Bin 0 -> 269581 bytes public/assets/chains/arbitrum.svg | 39 +- public/assets/chains/avalanche.svg | 1 - public/assets/chains/base.svg | 1 - public/assets/chains/bsc.svg | 1 - public/assets/chains/ethereum.svg | 1 - public/assets/chains/linea-goerli.png | Bin 0 -> 1411 bytes public/assets/chains/linea.png | Bin 0 -> 1358 bytes public/assets/chains/optimism.svg | 1 - public/assets/chains/polygon.svg | 1 - public/assets/chains/sepolia.png | Bin 7769 -> 0 bytes public/assets/logo/iconDark.svg | 3 + public/assets/logo/iconLight.svg | 3 + public/assets/logo/logoDark.svg | 11 + public/assets/logo/logoLight2.svg | 11 - src/app/apple-icon.png | Bin 0 -> 6686 bytes src/app/favicon.ico | Bin 670 -> 15406 bytes src/app/icon.png | Bin 0 -> 22538 bytes src/app/layout.tsx | 2 +- src/app/loading.tsx | 8 +- src/components/app/ConnectButton.tsx | 7 +- .../app/admin/testing/AdminTesting.tsx | 4 +- .../app/staking/AppStakingExplanations.tsx | 4 +- src/components/ui/AllowanceTxButton.tsx | 2 +- src/components/ui/Logo.tsx | 22 +- src/generated.ts | 6266 ++++++++--------- src/lib/chains.ts | 62 +- subgraph/build/LTYStaking/LTYStaking.wasm | Bin 41667 -> 0 bytes subgraph/build/hardhat/abis/LTYStaking.json | 676 -- subgraph/build/hardhat/abis/LToken.json | 1129 --- .../build/hardhat/abis/LTokenSignaler.json | 119 - subgraph/build/schema.graphql | 33 +- subgraph/build/subgraph.yaml | 51 +- subgraph/generated/LTYStaking/LTYStaking.ts | 1179 ---- subgraph/generated/LTokenSignaler/LToken.ts | 814 ++- .../LTokenSignaler/LTokenSignaler.ts | 58 +- subgraph/generated/schema.ts | 70 +- subgraph/generated/templates/LToken/LToken.ts | 814 ++- subgraph/localhost-subgraph.yaml | 50 +- subgraph/mapping.ts | 26 +- 50 files changed, 5223 insertions(+), 9000 deletions(-) rename contracts/hardhat/scripts/{deploy-DummyLDYStaking.ts => deploy-LDYStaking.ts} (69%) create mode 100644 public/assets/chains/arbitrum-goerli.png delete mode 100644 public/assets/chains/avalanche.svg delete mode 100644 public/assets/chains/base.svg delete mode 100644 public/assets/chains/bsc.svg delete mode 100644 public/assets/chains/ethereum.svg create mode 100644 public/assets/chains/linea-goerli.png create mode 100644 public/assets/chains/linea.png delete mode 100644 public/assets/chains/optimism.svg delete mode 100644 public/assets/chains/polygon.svg delete mode 100644 public/assets/chains/sepolia.png create mode 100644 public/assets/logo/iconDark.svg create mode 100644 public/assets/logo/iconLight.svg create mode 100644 public/assets/logo/logoDark.svg delete mode 100644 public/assets/logo/logoLight2.svg create mode 100644 src/app/apple-icon.png create mode 100644 src/app/icon.png delete mode 100644 subgraph/build/LTYStaking/LTYStaking.wasm delete mode 100644 subgraph/build/hardhat/abis/LTYStaking.json delete mode 100644 subgraph/build/hardhat/abis/LToken.json delete mode 100644 subgraph/build/hardhat/abis/LTokenSignaler.json delete mode 100644 subgraph/generated/LTYStaking/LTYStaking.ts diff --git a/.releaserc.json b/.releaserc.json index 65f9a409..11ae69a8 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -46,7 +46,7 @@ "@semantic-release/git", { "assets": ["package.json", "pnpm-lock.yaml", "CHANGELOG.md"], - "message": "release: Ledgity DeFi v${nextRelease.version} [skip ci]" + "message": "release: Ledgity Yield v${nextRelease.version} [skip ci]" } ], [ diff --git a/.vscode/settings.json b/.vscode/settings.json index d700831d..792c72c2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,45 +1,45 @@ { "typescript.tsdk": "node_modules/typescript/lib", "files.exclude": { - "renovate.json": false, - "tsconfig.json": false, - "vercel.json": false, - "pnpm-lock.yaml": false, - "postcss.config.js": false, - "next-env.d.ts": false, - "CHANGELOG.md": false, - ".releaserc.json": false, - ".next": false, - ".github": false, - "node_modules": false, - ".eslintrc.json": false, - "package.json": false, - ".gitignore": false, - "next.config.mjs": false, - ".env.local": false, - ".env.local.template": false, - "README.md": false, - "LICENSE": false, - "hardhat.config.ts": false, - ".prettierrc.js": false, - "typechain-types": false, - "hardhat/artifacts": false, - "hardhat/cache": false, - ".graphclient": false, - ".graphclientrc.yml": false, - "wagmi.config.ts": false, - "tailwind.config.js": false, - "hardhat/abis": false, - "build": false, - "foundry.toml": false, - ".gitmodules": false, - "slither.config.json": false, - "slither.db.json": false, - "solc.json": false, - "contracts/foundry/cache": false, - "contracts/foundry/out": false, - "contracts/hardhat/artifacts": false, - "contracts/hardhat/cache": false + "renovate.json": true, + "tsconfig.json": true, + "vercel.json": true, + "pnpm-lock.yaml": true, + "postcss.config.js": true, + "next-env.d.ts": true, + "CHANGELOG.md": true, + ".releaserc.json": true, + ".next": true, + ".github": true, + "node_modules": true, + ".eslintrc.json": true, + "package.json": true, + ".gitignore": true, + "next.config.mjs": true, + ".env.local": true, + ".env.local.template": true, + "README.md": true, + "LICENSE": true, + "hardhat.config.ts": true, + ".prettierrc.js": true, + "typechain-types": true, + "hardhat/artifacts": true, + "hardhat/cache": true, + ".graphclient": true, + ".graphclientrc.yml": true, + "wagmi.config.ts": true, + "tailwind.config.js": true, + "hardhat/abis": true, + "build": true, + "foundry.toml": true, + ".gitmodules": true, + "slither.config.json": true, + "slither.db.json": true, + "solc.json": true, + "contracts/foundry/cache": true, + "contracts/foundry/out": true, + "contracts/hardhat/artifacts": true, + "contracts/hardhat/cache": true }, // Required because of a bug with pnpm and prettier plugins. // See: https://github.com/prettier-solidity/prettier-plugin-solidity#pnpm diff --git a/CHANGELOG.md b/CHANGELOG.md index 38f580b0..a7d2fefb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,385 +1,358 @@ ## [1.127.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.126.6...v1.127.0) (2023-08-07) - ### Features -* upload new logos ([96ea2c8](https://github.com/ledgity-labs/Ledgity-Yield/commit/96ea2c8bd5a3495a5df4e4c2a512013fe6b99a5a)) - +- upload new logos ([96ea2c8](https://github.com/ledgity-labs/Ledgity-Yield/commit/96ea2c8bd5a3495a5df4e4c2a512013fe6b99a5a)) ### Docs -* improve docs of BaseUpgradeable.sol ([180db3f](https://github.com/ledgity-labs/Ledgity-Yield/commit/180db3f9f6109261b9d8e68ecea1daf915993d40)) -* improve docs of ERC20BaseUpgradeable.sol ([808e170](https://github.com/ledgity-labs/Ledgity-Yield/commit/808e170f6dacef67f16c4176ecf59483ec7713f3)) -* improve docs of InvestUpgradeable.sol + usage of APRH library ([05857c7](https://github.com/ledgity-labs/Ledgity-Yield/commit/05857c7c75c27b68f150d4dcbfcfdb91c9573efd)) -* improve docs of RecoverableUpgradeable.sol ([7f71a7c](https://github.com/ledgity-labs/Ledgity-Yield/commit/7f71a7c4aae25740b5d12ea65312346e1b7a2950)) -* improve documentation of GlobalRestrictableUpgradeable.sol ([17e28c9](https://github.com/ledgity-labs/Ledgity-Yield/commit/17e28c9bbf9d60d5a8ea6768322a32ad423c160f)) -* start improving LToken documentation ([d9eaaac](https://github.com/ledgity-labs/Ledgity-Yield/commit/d9eaaac61c0f8fc529ccb81ba31b5cd4b1fc453d)) +- improve docs of BaseUpgradeable.sol ([180db3f](https://github.com/ledgity-labs/Ledgity-Yield/commit/180db3f9f6109261b9d8e68ecea1daf915993d40)) +- improve docs of ERC20BaseUpgradeable.sol ([808e170](https://github.com/ledgity-labs/Ledgity-Yield/commit/808e170f6dacef67f16c4176ecf59483ec7713f3)) +- improve docs of InvestUpgradeable.sol + usage of APRH library ([05857c7](https://github.com/ledgity-labs/Ledgity-Yield/commit/05857c7c75c27b68f150d4dcbfcfdb91c9573efd)) +- improve docs of RecoverableUpgradeable.sol ([7f71a7c](https://github.com/ledgity-labs/Ledgity-Yield/commit/7f71a7c4aae25740b5d12ea65312346e1b7a2950)) +- improve documentation of GlobalRestrictableUpgradeable.sol ([17e28c9](https://github.com/ledgity-labs/Ledgity-Yield/commit/17e28c9bbf9d60d5a8ea6768322a32ad423c160f)) +- start improving LToken documentation ([d9eaaac](https://github.com/ledgity-labs/Ledgity-Yield/commit/d9eaaac61c0f8fc529ccb81ba31b5cd4b1fc453d)) ## [1.126.6](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.126.5...v1.126.6) (2023-08-06) - ### Fixes -* **ltoken:** default withdrawer and fund wallet to owner ([b43c756](https://github.com/ledgity-labs/Ledgity-Yield/commit/b43c756260338a0de1a9c735ee66a94225321ed8)) - +- **ltoken:** default withdrawer and fund wallet to owner ([b43c756](https://github.com/ledgity-labs/Ledgity-Yield/commit/b43c756260338a0de1a9c735ee66a94225321ed8)) ### Docs -* improve documentation of GlobalOwnableUpgradeable.sol ([cfe3aad](https://github.com/ledgity-labs/Ledgity-Yield/commit/cfe3aadd48031cb6d9c65e7ca2b03c9a091b0931)) -* improve documentation of GlobalPausableUpgradeable.sol ([1f4a06f](https://github.com/ledgity-labs/Ledgity-Yield/commit/1f4a06f2fb56c38297fa03029796c7cf2962c391)) +- improve documentation of GlobalOwnableUpgradeable.sol ([cfe3aad](https://github.com/ledgity-labs/Ledgity-Yield/commit/cfe3aadd48031cb6d9c65e7ca2b03c9a091b0931)) +- improve documentation of GlobalPausableUpgradeable.sol ([1f4a06f](https://github.com/ledgity-labs/Ledgity-Yield/commit/1f4a06f2fb56c38297fa03029796c7cf2962c391)) ## [1.126.5](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.126.4...v1.126.5) (2023-08-06) - ### Fixes -* tiny adjustments in APRHistory.sol ([cb960c2](https://github.com/ledgity-labs/Ledgity-Yield/commit/cb960c26d4c541089abf689bde4d66ee5c17217b)) - +- tiny adjustments in APRHistory.sol ([cb960c2](https://github.com/ledgity-labs/Ledgity-Yield/commit/cb960c26d4c541089abf689bde4d66ee5c17217b)) ### Docs -* improve Natspec of SUD.sol ([5e16dab](https://github.com/ledgity-labs/Ledgity-Yield/commit/5e16dab0e2606581a9c353a69d4445824fe7c10f)) -* rename APRCheckpoints to APRHistory + improve docs and readability of the library ([d1cbdb8](https://github.com/ledgity-labs/Ledgity-Yield/commit/d1cbdb839ee8671263a852a71918439486e27877)) - +- improve Natspec of SUD.sol ([5e16dab](https://github.com/ledgity-labs/Ledgity-Yield/commit/5e16dab0e2606581a9c353a69d4445824fe7c10f)) +- rename APRCheckpoints to APRHistory + improve docs and readability of the library ([d1cbdb8](https://github.com/ledgity-labs/Ledgity-Yield/commit/d1cbdb839ee8671263a852a71918439486e27877)) ### Tests -* **ltoken:** fix testFuzz_afterTokenTransfer_1 error ([e508d71](https://github.com/ledgity-labs/Ledgity-Yield/commit/e508d717fbd0a7daf60054da62305c009b0d814b)) - +- **ltoken:** fix testFuzz_afterTokenTransfer_1 error ([e508d71](https://github.com/ledgity-labs/Ledgity-Yield/commit/e508d717fbd0a7daf60054da62305c009b0d814b)) ### Others -* **deps:** update dependency @types/node to v20.4.8 ([62b3df5](https://github.com/ledgity-labs/Ledgity-Yield/commit/62b3df52765a352ea3a46f13ba8d8e3df6475b3b)) -* **deps:** update dependency @types/react to v18.2.18 ([4c23cb1](https://github.com/ledgity-labs/Ledgity-Yield/commit/4c23cb1827d03c87628b32a240deef04c369ff7e)) +- **deps:** update dependency @types/node to v20.4.8 ([62b3df5](https://github.com/ledgity-labs/Ledgity-Yield/commit/62b3df52765a352ea3a46f13ba8d8e3df6475b3b)) +- **deps:** update dependency @types/react to v18.2.18 ([4c23cb1](https://github.com/ledgity-labs/Ledgity-Yield/commit/4c23cb1827d03c87628b32a240deef04c369ff7e)) ## [1.126.4](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.126.3...v1.126.4) (2023-08-05) - ### Fixes -* try fixing Vercel deployment issue 3 ([de67377](https://github.com/ledgity-labs/Ledgity-Yield/commit/de67377d1f52663a5e85274a8b710eb854cc7498)) -* try fixing Vercel deployment issue 4 ([950fc33](https://github.com/ledgity-labs/Ledgity-Yield/commit/950fc33cc06dd10d23b60a3f09843d66d4963ce9)) +- try fixing Vercel deployment issue 3 ([de67377](https://github.com/ledgity-labs/Ledgity-Yield/commit/de67377d1f52663a5e85274a8b710eb854cc7498)) +- try fixing Vercel deployment issue 4 ([950fc33](https://github.com/ledgity-labs/Ledgity-Yield/commit/950fc33cc06dd10d23b60a3f09843d66d4963ce9)) ## [1.126.3](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.126.2...v1.126.3) (2023-08-05) - ### Fixes -* try fixing Vercel deployment issue 2 ([9a5fb8c](https://github.com/ledgity-labs/Ledgity-Yield/commit/9a5fb8c43ceff55bb56f0f7e40038ef3595425a2)) - +- try fixing Vercel deployment issue 2 ([9a5fb8c](https://github.com/ledgity-labs/Ledgity-Yield/commit/9a5fb8c43ceff55bb56f0f7e40038ef3595425a2)) ### Others -* merge ([921692c](https://github.com/ledgity-labs/Ledgity-Yield/commit/921692c45d2483339d50a24f99da07340dbbf172)) +- merge ([921692c](https://github.com/ledgity-labs/Ledgity-Yield/commit/921692c45d2483339d50a24f99da07340dbbf172)) ## [1.126.2](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.126.1...v1.126.2) (2023-08-05) - ### Fixes -* try fixing Vercel deployment issue ([e65fb42](https://github.com/ledgity-labs/Ledgity-Yield/commit/e65fb420151511dacfea3f6734d0604b213c8efc)) +- try fixing Vercel deployment issue ([e65fb42](https://github.com/ledgity-labs/Ledgity-Yield/commit/e65fb420151511dacfea3f6734d0604b213c8efc)) ## [1.126.1](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.126.0...v1.126.1) (2023-08-05) - ### Fixes -* fix contract name in APRCheckpoints docs ([17d49c2](https://github.com/ledgity-labs/Ledgity-Yield/commit/17d49c253cbd543bcb1cd165bc9b878a96b4d616)) - +- fix contract name in APRCheckpoints docs ([17d49c2](https://github.com/ledgity-labs/Ledgity-Yield/commit/17d49c253cbd543bcb1cd165bc9b878a96b4d616)) ### Others -* add back pnpm-lock.yaml + add 'pnpm add hardhat' in cc:compile to try fixing Vercel error ([a6e8412](https://github.com/ledgity-labs/Ledgity-Yield/commit/a6e8412a6b7dc69c6b8fdb5c735e25f7137fc03f)) -* **deps:** upgrade dependencies ([9741aed](https://github.com/ledgity-labs/Ledgity-Yield/commit/9741aed20e29fd205f739310b1265078ed0b03e3)) -* temporarily remove pnpm-lock.yaml ([665e5ba](https://github.com/ledgity-labs/Ledgity-Yield/commit/665e5ba1be9cf0f9e16fd2eff186b1bc48c022d1)) +- add back pnpm-lock.yaml + add 'pnpm add hardhat' in cc:compile to try fixing Vercel error ([a6e8412](https://github.com/ledgity-labs/Ledgity-Yield/commit/a6e8412a6b7dc69c6b8fdb5c735e25f7137fc03f)) +- **deps:** upgrade dependencies ([9741aed](https://github.com/ledgity-labs/Ledgity-Yield/commit/9741aed20e29fd205f739310b1265078ed0b03e3)) +- temporarily remove pnpm-lock.yaml ([665e5ba](https://github.com/ledgity-labs/Ledgity-Yield/commit/665e5ba1be9cf0f9e16fd2eff186b1bc48c022d1)) ## [1.126.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.125.0...v1.126.0) (2023-08-05) - ### Features -* new app logo! ([f2ee95e](https://github.com/ledgity-labs/Ledgity-Yield/commit/f2ee95e10eb6d3660c0b6e01d8b31ee2168ab1ab)) -* rename AS3 -> SUD and enforce 3 scaled decimals + highly improve accuracy of _calculatePeriodR ([2691bd5](https://github.com/ledgity-labs/Ledgity-Yield/commit/2691bd542181301ade30edc824f6acfccfd39bbb)) - +- new app logo! ([f2ee95e](https://github.com/ledgity-labs/Ledgity-Yield/commit/f2ee95e10eb6d3660c0b6e01d8b31ee2168ab1ab)) +- rename AS3 -> SUD and enforce 3 scaled decimals + highly improve accuracy of \_calculatePeriodR ([2691bd5](https://github.com/ledgity-labs/Ledgity-Yield/commit/2691bd542181301ade30edc824f6acfccfd39bbb)) ### Tests -* add missing unit test for SUD.decimalsOf() ([1539d6b](https://github.com/ledgity-labs/Ledgity-Yield/commit/1539d6b10b0969e749fbf1a234f4d628b118698a)) -* fix wrong parameters names in SUD.t.sol ([0794afd](https://github.com/ledgity-labs/Ledgity-Yield/commit/0794afd091b859cc2e4d5f56077c28a1e2f3b300)) -* re-enable and adapt LDYStaking unit tests to fit SUD.sol changes ([13c1402](https://github.com/ledgity-labs/Ledgity-Yield/commit/13c140294b0f6854a3aaef6539c04cd92e729e1c)) -* re-enable SUD.sol unit tests and adapt those to fit library's changes ([09057c6](https://github.com/ledgity-labs/Ledgity-Yield/commit/09057c628640558494d83b26a82738f3250667fa)) - +- add missing unit test for SUD.decimalsOf() ([1539d6b](https://github.com/ledgity-labs/Ledgity-Yield/commit/1539d6b10b0969e749fbf1a234f4d628b118698a)) +- fix wrong parameters names in SUD.t.sol ([0794afd](https://github.com/ledgity-labs/Ledgity-Yield/commit/0794afd091b859cc2e4d5f56077c28a1e2f3b300)) +- re-enable and adapt LDYStaking unit tests to fit SUD.sol changes ([13c1402](https://github.com/ledgity-labs/Ledgity-Yield/commit/13c140294b0f6854a3aaef6539c04cd92e729e1c)) +- re-enable SUD.sol unit tests and adapt those to fit library's changes ([09057c6](https://github.com/ledgity-labs/Ledgity-Yield/commit/09057c628640558494d83b26a82738f3250667fa)) ### Others -* **deps:** update dependency @openzeppelin/hardhat-upgrades to v2.1.0 ([ad265f6](https://github.com/ledgity-labs/Ledgity-Yield/commit/ad265f66315cf8bb736672544134198dc2db5936)) -* hide some additional files hide settings.json ([34e8382](https://github.com/ledgity-labs/Ledgity-Yield/commit/34e8382a88da5a9d3acf4900451028a5e2576557)) -* rename TheGraph folder ([c6abe99](https://github.com/ledgity-labs/Ledgity-Yield/commit/c6abe99cb5ee8c3240e70ca4b671e5ed73ef3c5c)) -* rename UDS3 to AS3, move some func from InvestUpgradeable to AS3, and improves AS3 docs ([4151b36](https://github.com/ledgity-labs/Ledgity-Yield/commit/4151b36d8fea0233f7a519df1e628cdb530b4676)) -* set back SUD functions as external and document the decision ([56e79bb](https://github.com/ledgity-labs/Ledgity-Yield/commit/56e79bbfa1b72678eb64f4fabe72a9fd2841bf4b)) - -## [1.125.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.124.2...v1.125.0) (2023-08-02) +- **deps:** update dependency @openzeppelin/hardhat-upgrades to v2.1.0 ([ad265f6](https://github.com/ledgity-labs/Ledgity-Yield/commit/ad265f66315cf8bb736672544134198dc2db5936)) +- hide some additional files hide settings.json ([34e8382](https://github.com/ledgity-labs/Ledgity-Yield/commit/34e8382a88da5a9d3acf4900451028a5e2576557)) +- rename TheGraph folder ([c6abe99](https://github.com/ledgity-labs/Ledgity-Yield/commit/c6abe99cb5ee8c3240e70ca4b671e5ed73ef3c5c)) +- rename UDS3 to AS3, move some func from InvestUpgradeable to AS3, and improves AS3 docs ([4151b36](https://github.com/ledgity-labs/Ledgity-Yield/commit/4151b36d8fea0233f7a519df1e628cdb530b4676)) +- set back SUD functions as external and document the decision ([56e79bb](https://github.com/ledgity-labs/Ledgity-Yield/commit/56e79bbfa1b72678eb64f4fabe72a9fd2841bf4b)) +## [1.125.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.124.2...v1.125.0) (2023-08-02) ### Features -* deploy scripts for 08/23 deployment + dummy LDY staking contract + some components fixes ([eeb0f3d](https://github.com/ledgity-labs/Ledgity-DeFi/commit/eeb0f3d7d6b512ce1d2b4c7bbfd6f75614a00d7e)) -* **globalownableupgradeable:** revert on renounceOwnership as for transferOwnership + unit tests ([9e85e17](https://github.com/ledgity-labs/Ledgity-DeFi/commit/9e85e172243b2d0d5830a04c3b968ca0446bd6e7)) - +- deploy scripts for 08/23 deployment + dummy LDY staking contract + some components fixes ([eeb0f3d](https://github.com/ledgity-labs/Ledgity-Yield/commit/eeb0f3d7d6b512ce1d2b4c7bbfd6f75614a00d7e)) +- **globalownableupgradeable:** revert on renounceOwnership as for transferOwnership + unit tests ([9e85e17](https://github.com/ledgity-labs/Ledgity-Yield/commit/9e85e172243b2d0d5830a04c3b968ca0446bd6e7)) ### Fixes -* **contracts:** process new slither report findings ([13b2fed](https://github.com/ledgity-labs/Ledgity-DeFi/commit/13b2feda02d601ccaeb146d7caa8f700d9b90dd6)) - +- **contracts:** process new slither report findings ([13b2fed](https://github.com/ledgity-labs/Ledgity-Yield/commit/13b2feda02d601ccaeb146d7caa8f700d9b90dd6)) ### Tests -* add additional invariant tests to LToken and LDYStaking contracts ([75debc3](https://github.com/ledgity-labs/Ledgity-DeFi/commit/75debc36191d485cf38b6a89de8fed594c3adbe7)) - +- add additional invariant tests to LToken and LDYStaking contracts ([75debc3](https://github.com/ledgity-labs/Ledgity-Yield/commit/75debc36191d485cf38b6a89de8fed594c3adbe7)) ### Others -* add missing env var to force Forge profile to 'ci' while running tests in GH workflow ([04e577a](https://github.com/ledgity-labs/Ledgity-DeFi/commit/04e577adaaf89c077bd392bc8526626240543ada)) -* **deps:** upgrade dependencies ([0fddf65](https://github.com/ledgity-labs/Ledgity-DeFi/commit/0fddf65e04c221e615cdd324d94a4165c8ad4c8f)) - -## [1.124.2](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.124.1...v1.124.2) (2023-08-01) +- add missing env var to force Forge profile to 'ci' while running tests in GH workflow ([04e577a](https://github.com/ledgity-labs/Ledgity-Yield/commit/04e577adaaf89c077bd392bc8526626240543ada)) +- **deps:** upgrade dependencies ([0fddf65](https://github.com/ledgity-labs/Ledgity-Yield/commit/0fddf65e04c221e615cdd324d94a4165c8ad4c8f)) +## [1.124.2](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.124.1...v1.124.2) (2023-08-01) ### Fixes -* **ltoken:** fix broken claimFees() after Slither patches ([053d2ac](https://github.com/ledgity-labs/Ledgity-DeFi/commit/053d2ac17c9b1a55a5c00e0b128b1416bbd82773)) - -## [1.124.1](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.124.0...v1.124.1) (2023-07-31) +- **ltoken:** fix broken claimFees() after Slither patches ([053d2ac](https://github.com/ledgity-labs/Ledgity-Yield/commit/053d2ac17c9b1a55a5c00e0b128b1416bbd82773)) +## [1.124.1](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.124.0...v1.124.1) (2023-07-31) ### Fixes -* try removing hardhat contract sizer to fix vercel deployment ([d035ba4](https://github.com/ledgity-labs/Ledgity-DeFi/commit/d035ba43039501c5052c2999680dfc018792f0bc)) - +- try removing hardhat contract sizer to fix vercel deployment ([d035ba4](https://github.com/ledgity-labs/Ledgity-Yield/commit/d035ba43039501c5052c2999680dfc018792f0bc)) ### Others -* add Slither analysis GH workflow ([379f0f7](https://github.com/ledgity-labs/Ledgity-DeFi/commit/379f0f7ebbdf8d39e2946f555da6f80b5a1de148)) -* fix missing slither action arguments ([4047ced](https://github.com/ledgity-labs/Ledgity-DeFi/commit/4047ced3496af55b373ab65b44b62e558d3dedd6)) - -## [1.124.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.123.0...v1.124.0) (2023-07-31) +- add Slither analysis GH workflow ([379f0f7](https://github.com/ledgity-labs/Ledgity-Yield/commit/379f0f7ebbdf8d39e2946f555da6f80b5a1de148)) +- fix missing slither action arguments ([4047ced](https://github.com/ledgity-labs/Ledgity-Yield/commit/4047ced3496af55b373ab65b44b62e558d3dedd6)) +## [1.124.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.123.0...v1.124.0) (2023-07-31) ### Features -* **contracts:** process Slither reports ([e1bdecd](https://github.com/ledgity-labs/Ledgity-DeFi/commit/e1bdecdcedd6e7ef3f5172f76e306be1d570a119)) -* setup slither + fix the failing unit test ([9c96e06](https://github.com/ledgity-labs/Ledgity-DeFi/commit/9c96e06878ddc18f031c2d3a2af34ce074274b45)) - +- **contracts:** process Slither reports ([e1bdecd](https://github.com/ledgity-labs/Ledgity-Yield/commit/e1bdecdcedd6e7ef3f5172f76e306be1d570a119)) +- setup slither + fix the failing unit test ([9c96e06](https://github.com/ledgity-labs/Ledgity-Yield/commit/9c96e06878ddc18f031c2d3a2af34ce074274b45)) ### Fixes -* **contracts:** deployments issues ([e031490](https://github.com/ledgity-labs/Ledgity-DeFi/commit/e0314903133d1ced726378de6caace0b97c9e965)) - +- **contracts:** deployments issues ([e031490](https://github.com/ledgity-labs/Ledgity-Yield/commit/e0314903133d1ced726378de6caace0b97c9e965)) ### Others -* downgrade to Solidity 0.8.18 which is a more trusted version ([52e1272](https://github.com/ledgity-labs/Ledgity-DeFi/commit/52e12727e64bd0b515443a47ac60b7dc6071daa7)) -* make APRCheckpoints an external library + use errors codes to reduce contracts sizes ([ba4e579](https://github.com/ledgity-labs/Ledgity-DeFi/commit/ba4e5796f76a71703a0866eb7d151617c8692444)) +- downgrade to Solidity 0.8.18 which is a more trusted version ([52e1272](https://github.com/ledgity-labs/Ledgity-Yield/commit/52e12727e64bd0b515443a47ac60b7dc6071daa7)) +- make APRCheckpoints an external library + use errors codes to reduce contracts sizes ([ba4e579](https://github.com/ledgity-labs/Ledgity-Yield/commit/ba4e5796f76a71703a0866eb7d151617c8692444)) -## [1.123.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.122.1...v1.123.0) (2023-07-30) +## [1.123.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.122.1...v1.123.0) (2023-07-30) ### Features -- **contracts:** make some libraries external + update to solidity 0.8.18 + use london evm version ([7e7ebc4](https://github.com/ledgity-labs/Ledgity-DeFi/commit/7e7ebc455d2efcc16f3f5085e73732aa7efeb6ac)) -- fill some networks and contracts addresses ([7657b7d](https://github.com/ledgity-labs/Ledgity-DeFi/commit/7657b7d23e04296f8d17072f3773021d7e050b21)) +- **contracts:** make some libraries external + update to solidity 0.8.18 + use london evm version ([7e7ebc4](https://github.com/ledgity-labs/Ledgity-Yield/commit/7e7ebc455d2efcc16f3f5085e73732aa7efeb6ac)) +- fill some networks and contracts addresses ([7657b7d](https://github.com/ledgity-labs/Ledgity-Yield/commit/7657b7d23e04296f8d17072f3773021d7e050b21)) ### Others -- rename utility token to $LDY ([4405372](https://github.com/ledgity-labs/Ledgity-DeFi/commit/4405372ff150e29f3b25fb55e6174a7b1bf39a1f)) +- rename utility token to $LDY ([4405372](https://github.com/ledgity-labs/Ledgity-Yield/commit/4405372ff150e29f3b25fb55e6174a7b1bf39a1f)) -## [1.122.1](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.122.0...v1.122.1) (2023-07-30) +## [1.122.1](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.122.0...v1.122.1) (2023-07-30) ### Fixes -- **app:** mirrors contracts functions names changes in the frontend source code ([36c79a3](https://github.com/ledgity-labs/Ledgity-DeFi/commit/36c79a3269718190d4fb00f58baab7c4deeb811b)) +- **app:** mirrors contracts functions names changes in the frontend source code ([36c79a3](https://github.com/ledgity-labs/Ledgity-Yield/commit/36c79a3269718190d4fb00f58baab7c4deeb811b)) ### Others -- **deps:** upgrade dependencies ([b3ff051](https://github.com/ledgity-labs/Ledgity-DeFi/commit/b3ff0519e3db8caea2ca1c795a545179175d08c0)) +- **deps:** upgrade dependencies ([b3ff051](https://github.com/ledgity-labs/Ledgity-Yield/commit/b3ff0519e3db8caea2ca1c795a545179175d08c0)) -## [1.122.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.121.0...v1.122.0) (2023-07-30) +## [1.122.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.121.0...v1.122.0) (2023-07-30) ### Features -- **ltoken:** first version of transfers listeners ([a5bf23a](https://github.com/ledgity-labs/Ledgity-DeFi/commit/a5bf23af2f445382c577073ef13f94fb83115937)) +- **ltoken:** first version of transfers listeners ([a5bf23a](https://github.com/ledgity-labs/Ledgity-Yield/commit/a5bf23af2f445382c577073ef13f94fb83115937)) ### Tests -- **ltoken:** new transfers listeners unit tests ([cd0b2f9](https://github.com/ledgity-labs/Ledgity-DeFi/commit/cd0b2f962a4cd137513f1da060bfa510af5a61c6)) +- **ltoken:** new transfers listeners unit tests ([cd0b2f9](https://github.com/ledgity-labs/Ledgity-Yield/commit/cd0b2f962a4cd137513f1da060bfa510af5a61c6)) -## [1.121.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.120.0...v1.121.0) (2023-07-29) +## [1.121.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.120.0...v1.121.0) (2023-07-29) ### Features -- investUpgradeable rewards redirection + end of unit tests V1 ! ([b83aba3](https://github.com/ledgity-labs/Ledgity-DeFi/commit/b83aba3c9a543125e990576272eea784bce52b0f)) +- investUpgradeable rewards redirection + end of unit tests V1 ! ([b83aba3](https://github.com/ledgity-labs/Ledgity-Yield/commit/b83aba3c9a543125e990576272eea784bce52b0f)) ### Tests -- add missing GlobalBlacklist.isBlacklisted() unit tests ([8b462a5](https://github.com/ledgity-labs/Ledgity-DeFi/commit/8b462a52aa3543d32e59527004bc872b7f07a01d)) -- improve RecoverableUpgradeable unit tests ([aa3d0ec](https://github.com/ledgity-labs/Ledgity-DeFi/commit/aa3d0ec058782db0403415503f8988d917be6974)) -- new APRCheckpoints library unit tests ([05f0b60](https://github.com/ledgity-labs/Ledgity-DeFi/commit/05f0b60b20ec8235882a3dcea0d873e287ab3a29)) -- new BaseUpgradeable unit tests ([107fe4c](https://github.com/ledgity-labs/Ledgity-DeFi/commit/107fe4ce8e9decc10b2fb7eb156a2e33ecc19538)) -- new ERC20BaseUpgradeable tests + some tiny improvements in other tests files ([5410dc1](https://github.com/ledgity-labs/Ledgity-DeFi/commit/5410dc151f0d1dd95d40a02ec5dd0ffb0970ffbe)) -- new GlobalBlacklist unit tests ([5472f2b](https://github.com/ledgity-labs/Ledgity-DeFi/commit/5472f2b32656d0d3422bcd046967671b492d238e)) -- new GlobalOwner unit tests ([01280f3](https://github.com/ledgity-labs/Ledgity-DeFi/commit/01280f3a72545b0963cd059922328f0848c931ef)) -- new GlobalPausableUpgradeable unit tests ([58f6602](https://github.com/ledgity-labs/Ledgity-DeFi/commit/58f66022481b2139d8deb75f2cd7da26ddbf9356)) -- new GlobalPause unit tests ([507b740](https://github.com/ledgity-labs/Ledgity-DeFi/commit/507b740aecf308182b04867c9a6fbd64be82e3e1)) -- new GlobalRestrictableUpgradeable unit tests + remove ownable from GlobalRestrictable/Pausable ([c43aea7](https://github.com/ledgity-labs/Ledgity-DeFi/commit/c43aea72f3cf0d62c8a2840076809a5a0c6dec31)) -- new InvestUpgradeable unit tests ([c7a6a2c](https://github.com/ledgity-labs/Ledgity-DeFi/commit/c7a6a2cbd72135fe76f38fb5417be9d19de6ff6f)) -- new LDYStaking unit tests ([0967e61](https://github.com/ledgity-labs/Ledgity-DeFi/commit/0967e61b9252850bb74e0ced603277097acca12b)) -- new RecoverableUpgradeable unit tests ([bc3d62d](https://github.com/ledgity-labs/Ledgity-DeFi/commit/bc3d62d735b4840b9b87773cd8768ab1c99c303a)) -- new UDS3 libary tests ([b79b0b1](https://github.com/ledgity-labs/Ledgity-DeFi/commit/b79b0b1c6c9ac7e5af792e3f3ea9c0b814af7814)) -- re-organize test folder to match source one ([147e306](https://github.com/ledgity-labs/Ledgity-DeFi/commit/147e3060f3373e26537851bce26fdd7b8499eee9)) -- replace usage of assume() per bound() whenever it is more relevant ([9397c9a](https://github.com/ledgity-labs/Ledgity-DeFi/commit/9397c9ad60357273a4757cc76de274c00bf6b047)) +- add missing GlobalBlacklist.isBlacklisted() unit tests ([8b462a5](https://github.com/ledgity-labs/Ledgity-Yield/commit/8b462a52aa3543d32e59527004bc872b7f07a01d)) +- improve RecoverableUpgradeable unit tests ([aa3d0ec](https://github.com/ledgity-labs/Ledgity-Yield/commit/aa3d0ec058782db0403415503f8988d917be6974)) +- new APRCheckpoints library unit tests ([05f0b60](https://github.com/ledgity-labs/Ledgity-Yield/commit/05f0b60b20ec8235882a3dcea0d873e287ab3a29)) +- new BaseUpgradeable unit tests ([107fe4c](https://github.com/ledgity-labs/Ledgity-Yield/commit/107fe4ce8e9decc10b2fb7eb156a2e33ecc19538)) +- new ERC20BaseUpgradeable tests + some tiny improvements in other tests files ([5410dc1](https://github.com/ledgity-labs/Ledgity-Yield/commit/5410dc151f0d1dd95d40a02ec5dd0ffb0970ffbe)) +- new GlobalBlacklist unit tests ([5472f2b](https://github.com/ledgity-labs/Ledgity-Yield/commit/5472f2b32656d0d3422bcd046967671b492d238e)) +- new GlobalOwner unit tests ([01280f3](https://github.com/ledgity-labs/Ledgity-Yield/commit/01280f3a72545b0963cd059922328f0848c931ef)) +- new GlobalPausableUpgradeable unit tests ([58f6602](https://github.com/ledgity-labs/Ledgity-Yield/commit/58f66022481b2139d8deb75f2cd7da26ddbf9356)) +- new GlobalPause unit tests ([507b740](https://github.com/ledgity-labs/Ledgity-Yield/commit/507b740aecf308182b04867c9a6fbd64be82e3e1)) +- new GlobalRestrictableUpgradeable unit tests + remove ownable from GlobalRestrictable/Pausable ([c43aea7](https://github.com/ledgity-labs/Ledgity-Yield/commit/c43aea72f3cf0d62c8a2840076809a5a0c6dec31)) +- new InvestUpgradeable unit tests ([c7a6a2c](https://github.com/ledgity-labs/Ledgity-Yield/commit/c7a6a2cbd72135fe76f38fb5417be9d19de6ff6f)) +- new LDYStaking unit tests ([0967e61](https://github.com/ledgity-labs/Ledgity-Yield/commit/0967e61b9252850bb74e0ced603277097acca12b)) +- new RecoverableUpgradeable unit tests ([bc3d62d](https://github.com/ledgity-labs/Ledgity-Yield/commit/bc3d62d735b4840b9b87773cd8768ab1c99c303a)) +- new UDS3 libary tests ([b79b0b1](https://github.com/ledgity-labs/Ledgity-Yield/commit/b79b0b1c6c9ac7e5af792e3f3ea9c0b814af7814)) +- re-organize test folder to match source one ([147e306](https://github.com/ledgity-labs/Ledgity-Yield/commit/147e3060f3373e26537851bce26fdd7b8499eee9)) +- replace usage of assume() per bound() whenever it is more relevant ([9397c9a](https://github.com/ledgity-labs/Ledgity-Yield/commit/9397c9ad60357273a4757cc76de274c00bf6b047)) ### Others -- fix workflow file typo ([0174631](https://github.com/ledgity-labs/Ledgity-DeFi/commit/0174631b06bfb6d7cb71dac14b0cc52b102d01a3)) -- try fixing contracts tests workflow ([649c123](https://github.com/ledgity-labs/Ledgity-DeFi/commit/649c12367512892db72a26676cc1c241b5e1c734)) -- update contracts tests workflow ([fef42ba](https://github.com/ledgity-labs/Ledgity-DeFi/commit/fef42baa15786d538283f949fbc47869c3558d96)) +- fix workflow file typo ([0174631](https://github.com/ledgity-labs/Ledgity-Yield/commit/0174631b06bfb6d7cb71dac14b0cc52b102d01a3)) +- try fixing contracts tests workflow ([649c123](https://github.com/ledgity-labs/Ledgity-Yield/commit/649c12367512892db72a26676cc1c241b5e1c734)) +- update contracts tests workflow ([fef42ba](https://github.com/ledgity-labs/Ledgity-Yield/commit/fef42baa15786d538283f949fbc47869c3558d96)) -## [1.120.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.119.1...v1.120.0) (2023-07-14) +## [1.120.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.119.1...v1.120.0) (2023-07-14) ### Features -- include back foundry lib folder ([65af4fe](https://github.com/ledgity-labs/Ledgity-DeFi/commit/65af4fe72e2e9dc85cf6ca131613bf7f0134f67b)) +- include back foundry lib folder ([65af4fe](https://github.com/ledgity-labs/Ledgity-Yield/commit/65af4fe72e2e9dc85cf6ca131613bf7f0134f67b)) ### Others -- test if forge-std has successfully been added as a git submodule ([091270e](https://github.com/ledgity-labs/Ledgity-DeFi/commit/091270e60a628d64a15866364a578692fd9ce993)) -- **tests:** run tests on main branch push ([fa6632e](https://github.com/ledgity-labs/Ledgity-DeFi/commit/fa6632e9ddb0fbd483a9b9e782c6abd3f7ca0454)) +- test if forge-std has successfully been added as a git submodule ([091270e](https://github.com/ledgity-labs/Ledgity-Yield/commit/091270e60a628d64a15866364a578692fd9ce993)) +- **tests:** run tests on main branch push ([fa6632e](https://github.com/ledgity-labs/Ledgity-Yield/commit/fa6632e9ddb0fbd483a9b9e782c6abd3f7ca0454)) -## [1.119.1](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.119.0...v1.119.1) (2023-07-14) +## [1.119.1](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.119.0...v1.119.1) (2023-07-14) ### Fixes -- restore accidentally deleted contracts sources + fix old contracts functions calls ([d1fb982](https://github.com/ledgity-labs/Ledgity-DeFi/commit/d1fb9820b024e0819527855141883b154a859356)) +- restore accidentally deleted contracts sources + fix old contracts functions calls ([d1fb982](https://github.com/ledgity-labs/Ledgity-Yield/commit/d1fb9820b024e0819527855141883b154a859356)) ### Tests -- add common modifiers expectations ([641f0f0](https://github.com/ledgity-labs/Ledgity-DeFi/commit/641f0f0697d089591904f724b0a303c289ab25c2)) -- **foundry:** new GlobalOwnableUpgradeable tests units ([b963a1a](https://github.com/ledgity-labs/Ledgity-DeFi/commit/b963a1a174e4b1605db138616cdb7e8025e24f90)) +- add common modifiers expectations ([641f0f0](https://github.com/ledgity-labs/Ledgity-Yield/commit/641f0f0697d089591904f724b0a303c289ab25c2)) +- **foundry:** new GlobalOwnableUpgradeable tests units ([b963a1a](https://github.com/ledgity-labs/Ledgity-Yield/commit/b963a1a174e4b1605db138616cdb7e8025e24f90)) ### Others -- **deps:** update dependency @types/react to v18.2.15 ([e31e217](https://github.com/ledgity-labs/Ledgity-DeFi/commit/e31e2177f52edb8af06cbf71680404c3894b82e9)) -- **deps:** update dependency postcss to v8.4.26 ([9f27e0b](https://github.com/ledgity-labs/Ledgity-DeFi/commit/9f27e0ba49401a6a6cb5b09fc8a89cd09f648548)) -- **deps:** update dependency tailwindcss to v3.3.3 ([e9dc2b2](https://github.com/ledgity-labs/Ledgity-DeFi/commit/e9dc2b26b9e57305676cff5b892f5be34ea6153c)) -- restrict Renovate to non-working hours ([7f5a873](https://github.com/ledgity-labs/Ledgity-DeFi/commit/7f5a8737316cbf4f28afbddb2349e2eb3d81ee7c)) +- **deps:** update dependency @types/react to v18.2.15 ([e31e217](https://github.com/ledgity-labs/Ledgity-Yield/commit/e31e2177f52edb8af06cbf71680404c3894b82e9)) +- **deps:** update dependency postcss to v8.4.26 ([9f27e0b](https://github.com/ledgity-labs/Ledgity-Yield/commit/9f27e0ba49401a6a6cb5b09fc8a89cd09f648548)) +- **deps:** update dependency tailwindcss to v3.3.3 ([e9dc2b2](https://github.com/ledgity-labs/Ledgity-Yield/commit/e9dc2b26b9e57305676cff5b892f5be34ea6153c)) +- restrict Renovate to non-working hours ([7f5a873](https://github.com/ledgity-labs/Ledgity-Yield/commit/7f5a8737316cbf4f28afbddb2349e2eb3d81ee7c)) -## [1.119.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.118.1...v1.119.0) (2023-07-13) +## [1.119.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.118.1...v1.119.0) (2023-07-13) ### Features -- **contracts:** setup foundry next to hardhat for unit tests ([f23b851](https://github.com/ledgity-labs/Ledgity-DeFi/commit/f23b851e1a962f9cfe2b8bb63a682688bf8e4626)) +- **contracts:** setup foundry next to hardhat for unit tests ([f23b851](https://github.com/ledgity-labs/Ledgity-Yield/commit/f23b851e1a962f9cfe2b8bb63a682688bf8e4626)) ### Others -- forge init ([b0e44b4](https://github.com/ledgity-labs/Ledgity-DeFi/commit/b0e44b4a9f7ff6a2f3d9dd0c79596c6490dc1afa)) +- forge init ([b0e44b4](https://github.com/ledgity-labs/Ledgity-Yield/commit/b0e44b4a9f7ff6a2f3d9dd0c79596c6490dc1afa)) -## [1.118.1](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.118.0...v1.118.1) (2023-07-13) +## [1.118.1](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.118.0...v1.118.1) (2023-07-13) ### Fixes -- fix build error ([bf09e61](https://github.com/ledgity-labs/Ledgity-DeFi/commit/bf09e61ca5263b584ea48bf6aa5e04ac8a188ad1)) +- fix build error ([bf09e61](https://github.com/ledgity-labs/Ledgity-Yield/commit/bf09e61ca5263b584ea48bf6aa5e04ac8a188ad1)) ### Others -- **deps:** update dependency @openzeppelin/hardhat-upgrades to v2.0.1 ([8c741ce](https://github.com/ledgity-labs/Ledgity-DeFi/commit/8c741cecda1e9d5329ba269e53d15594b8f39c5a)) -- **deps:** update dependency @types/node to v20.4.2 ([b157a7f](https://github.com/ledgity-labs/Ledgity-DeFi/commit/b157a7ff74543d75834b8d7a257c2a2427a68bbc)) -- **deps:** update dependency @types/react-dom to v18.2.7 ([0680d30](https://github.com/ledgity-labs/Ledgity-DeFi/commit/0680d3097e1c8ba894003f73b2adf6724c6d5ef4)) +- **deps:** update dependency @openzeppelin/hardhat-upgrades to v2.0.1 ([8c741ce](https://github.com/ledgity-labs/Ledgity-Yield/commit/8c741cecda1e9d5329ba269e53d15594b8f39c5a)) +- **deps:** update dependency @types/node to v20.4.2 ([b157a7f](https://github.com/ledgity-labs/Ledgity-Yield/commit/b157a7ff74543d75834b8d7a257c2a2427a68bbc)) +- **deps:** update dependency @types/react-dom to v18.2.7 ([0680d30](https://github.com/ledgity-labs/Ledgity-Yield/commit/0680d3097e1c8ba894003f73b2adf6724c6d5ef4)) -## [1.118.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.117.2...v1.118.0) (2023-07-13) +## [1.118.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.117.2...v1.118.0) (2023-07-13) ### Features -- **contracts:** don't rely anymore on Beacon, rewrite deploy scripts to fit new contracts and ([334c0dc](https://github.com/ledgity-labs/Ledgity-DeFi/commit/334c0dceeaf8c67efc19ccfe0782ab584174772a)) -- **contracts:** track and allow funding a rewards reserve in LDYStaking contract ([f172369](https://github.com/ledgity-labs/Ledgity-DeFi/commit/f17236957c57eaa7c5140ec1b172b1c7be57a772)) +- **contracts:** don't rely anymore on Beacon, rewrite deploy scripts to fit new contracts and ([334c0dc](https://github.com/ledgity-labs/Ledgity-Yield/commit/334c0dceeaf8c67efc19ccfe0782ab584174772a)) +- **contracts:** track and allow funding a rewards reserve in LDYStaking contract ([f172369](https://github.com/ledgity-labs/Ledgity-Yield/commit/f17236957c57eaa7c5140ec1b172b1c7be57a772)) ### Docs -- **contracts:** document LTokenSignaler contract ([97e4690](https://github.com/ledgity-labs/Ledgity-DeFi/commit/97e469096c779a82a45d23f52c74d135100e3da1)) +- **contracts:** document LTokenSignaler contract ([97e4690](https://github.com/ledgity-labs/Ledgity-Yield/commit/97e469096c779a82a45d23f52c74d135100e3da1)) ### Others -- **contracts:** improve docs and code readability of LToken contract ([e97c7e2](https://github.com/ledgity-labs/Ledgity-DeFi/commit/e97c7e2ce7873cf483fce20cce8513e452e3c342)) -- **contracts:** improve docs and code readability of LDYStaking contract ([af15bd9](https://github.com/ledgity-labs/Ledgity-DeFi/commit/af15bd9d5bf087de55a517ce8ee43e05b418181e)) +- **contracts:** improve docs and code readability of LToken contract ([e97c7e2](https://github.com/ledgity-labs/Ledgity-Yield/commit/e97c7e2ce7873cf483fce20cce8513e452e3c342)) +- **contracts:** improve docs and code readability of LDYStaking contract ([af15bd9](https://github.com/ledgity-labs/Ledgity-Yield/commit/af15bd9d5bf087de55a517ce8ee43e05b418181e)) -## [1.117.2](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.117.1...v1.117.2) (2023-07-11) +## [1.117.2](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.117.1...v1.117.2) (2023-07-11) ### Fixes -- **contracts:** ensure GlobalBlacklist cannot blacklist zero address ([6e05249](https://github.com/ledgity-labs/Ledgity-DeFi/commit/6e05249199fdb9052ec5153eaad79c7774a14f63)) +- **contracts:** ensure GlobalBlacklist cannot blacklist zero address ([6e05249](https://github.com/ledgity-labs/Ledgity-Yield/commit/6e05249199fdb9052ec5153eaad79c7774a14f63)) ### Docs -- **contracts:** document GlobalBlacklist, GlobalOwner and GlobalPauser contracts ([c2eb5f5](https://github.com/ledgity-labs/Ledgity-DeFi/commit/c2eb5f58ff9729d3120610ef03255b8e72d71bab)) +- **contracts:** document GlobalBlacklist, GlobalOwner and GlobalPauser contracts ([c2eb5f5](https://github.com/ledgity-labs/Ledgity-Yield/commit/c2eb5f58ff9729d3120610ef03255b8e72d71bab)) ### Others -- **contracts:** rename GlobalPauser to GlobalPause ([e28e8d2](https://github.com/ledgity-labs/Ledgity-DeFi/commit/e28e8d238fe9df03497699fccbbf9ddac086d0f6)) +- **contracts:** rename GlobalPauser to GlobalPause ([e28e8d2](https://github.com/ledgity-labs/Ledgity-Yield/commit/e28e8d238fe9df03497699fccbbf9ddac086d0f6)) -## [1.117.1](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.117.0...v1.117.1) (2023-07-11) +## [1.117.1](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.117.0...v1.117.1) (2023-07-11) ### Fixes -- **contracts:** add missing RecoverableUpgradeable initializer call in BaseUpgradeable.sol ([7c7b18b](https://github.com/ledgity-labs/Ledgity-DeFi/commit/7c7b18b279a008d5e176a913bc69bb0b597029eb)) -- **contracts:** fix typo in LToken.getWithdrawnAmountAndFees() ([d96c859](https://github.com/ledgity-labs/Ledgity-DeFi/commit/d96c859e54adcc12756274f62043a70ed473720d)) +- **contracts:** add missing RecoverableUpgradeable initializer call in BaseUpgradeable.sol ([7c7b18b](https://github.com/ledgity-labs/Ledgity-Yield/commit/7c7b18b279a008d5e176a913bc69bb0b597029eb)) +- **contracts:** fix typo in LToken.getWithdrawnAmountAndFees() ([d96c859](https://github.com/ledgity-labs/Ledgity-Yield/commit/d96c859e54adcc12756274f62043a70ed473720d)) -## [1.117.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.116.0...v1.117.0) (2023-07-11) +## [1.117.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.116.0...v1.117.0) (2023-07-11) ### Features -- **contracts:** make global contracts addresses states private and offer getter for those + ([8dce56f](https://github.com/ledgity-labs/Ledgity-DeFi/commit/8dce56f4f0e26bf471344453d6b571a40b24e9e1)) +- **contracts:** make global contracts addresses states private and offer getter for those + ([8dce56f](https://github.com/ledgity-labs/Ledgity-Yield/commit/8dce56f4f0e26bf471344453d6b571a40b24e9e1)) ### Fixes -- some calculation were still using old ud3ToDecimals pattern, which may incur precision loss if ([7bd4cc8](https://github.com/ledgity-labs/Ledgity-DeFi/commit/7bd4cc80173727cb7ec59eb6c5b3cc3bc0c592f8)) +- some calculation were still using old ud3ToDecimals pattern, which may incur precision loss if ([7bd4cc8](https://github.com/ledgity-labs/Ledgity-Yield/commit/7bd4cc80173727cb7ec59eb6c5b3cc3bc0c592f8)) ### Others -- **contracts:** end improving InvestUpgradeable code readability and documentation ([0ba4848](https://github.com/ledgity-labs/Ledgity-DeFi/commit/0ba48489345b93b366dba2503f384da3625f3870)) -- **deps:** update dependency @types/node to v20.4.1 ([068e40b](https://github.com/ledgity-labs/Ledgity-DeFi/commit/068e40b624ac32822f1488d5cb6059c94431bcbb)) -- **deps:** update dependency prettier to v3 ([5739d9f](https://github.com/ledgity-labs/Ledgity-DeFi/commit/5739d9f3bbb8eee9c6a357fec3439b8c1262cd58)) +- **contracts:** end improving InvestUpgradeable code readability and documentation ([0ba4848](https://github.com/ledgity-labs/Ledgity-Yield/commit/0ba48489345b93b366dba2503f384da3625f3870)) +- **deps:** update dependency @types/node to v20.4.1 ([068e40b](https://github.com/ledgity-labs/Ledgity-Yield/commit/068e40b624ac32822f1488d5cb6059c94431bcbb)) +- **deps:** update dependency prettier to v3 ([5739d9f](https://github.com/ledgity-labs/Ledgity-Yield/commit/5739d9f3bbb8eee9c6a357fec3439b8c1262cd58)) -## [1.116.0](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.115.1...v1.116.0) (2023-07-11) +## [1.116.0](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.115.1...v1.116.0) (2023-07-11) ### Features -- **contracts:** security: makes all global contracts addresses immutable after initialization ([37a0765](https://github.com/ledgity-labs/Ledgity-DeFi/commit/37a0765658fba6c3af8d656fc2f36e319d2221fc)) +- **contracts:** security: makes all global contracts addresses immutable after initialization ([37a0765](https://github.com/ledgity-labs/Ledgity-Yield/commit/37a0765658fba6c3af8d656fc2f36e319d2221fc)) ### Fixes -- **contracts:** properly and explicitely check in Global abstracts that global contract is set ([34a415a](https://github.com/ledgity-labs/Ledgity-DeFi/commit/34a415a75bd2b97dab85d1418fba6b577780a8cc)) +- **contracts:** properly and explicitely check in Global abstracts that global contract is set ([34a415a](https://github.com/ledgity-labs/Ledgity-Yield/commit/34a415a75bd2b97dab85d1418fba6b577780a8cc)) ### Docs -- **contracts:** document GlobalOwnable, GlobalPausable and GlobalRestrictable contracts ([d312182](https://github.com/ledgity-labs/Ledgity-DeFi/commit/d3121828f32c0006d355e941e831c7525344966d)) -- **contracts:** improve docs of ERC20BaseUpgradeable ([32a33e4](https://github.com/ledgity-labs/Ledgity-DeFi/commit/32a33e495f27dcf7839c985bdf89a3da4386c348)) -- **contracts:** improve documentation of BaseUpgradeable ([ada81b9](https://github.com/ledgity-labs/Ledgity-DeFi/commit/ada81b9fb7c1ce0a0bd5bceaef1008456ecca65f)) +- **contracts:** document GlobalOwnable, GlobalPausable and GlobalRestrictable contracts ([d312182](https://github.com/ledgity-labs/Ledgity-Yield/commit/d3121828f32c0006d355e941e831c7525344966d)) +- **contracts:** improve docs of ERC20BaseUpgradeable ([32a33e4](https://github.com/ledgity-labs/Ledgity-Yield/commit/32a33e495f27dcf7839c985bdf89a3da4386c348)) +- **contracts:** improve documentation of BaseUpgradeable ([ada81b9](https://github.com/ledgity-labs/Ledgity-Yield/commit/ada81b9fb7c1ce0a0bd5bceaef1008456ecca65f)) ### Others -- **contracts:** prefix global abstracts by "Global" + strictly follow the unchained pattern ([dacd5b9](https://github.com/ledgity-labs/Ledgity-DeFi/commit/dacd5b9b1db5ae6db2d2ee6bb46af728394b0e21)) -- **contracts:** some readability improvements over performances ([5c57d1e](https://github.com/ledgity-labs/Ledgity-DeFi/commit/5c57d1e765d1db545c44a4ed4f262d5e0a01fbcf)) +- **contracts:** prefix global abstracts by "Global" + strictly follow the unchained pattern ([dacd5b9](https://github.com/ledgity-labs/Ledgity-Yield/commit/dacd5b9b1db5ae6db2d2ee6bb46af728394b0e21)) +- **contracts:** some readability improvements over performances ([5c57d1e](https://github.com/ledgity-labs/Ledgity-Yield/commit/5c57d1e765d1db545c44a4ed4f262d5e0a01fbcf)) -## [1.115.1](https://github.com/ledgity-labs/Ledgity-DeFi/compare/v1.115.0...v1.115.1) (2023-07-10) +## [1.115.1](https://github.com/ledgity-labs/Ledgity-Yield/compare/v1.115.0...v1.115.1) (2023-07-10) ### Fixes -- fix build error (since Amount component API change) ([8cdeb98](https://github.com/ledgity-labs/Ledgity-DeFi/commit/8cdeb983039dbb9766e72853bcf10f56e0749365)) +- fix build error (since Amount component API change) ([8cdeb98](https://github.com/ledgity-labs/Ledgity-Yield/commit/8cdeb983039dbb9766e72853bcf10f56e0749365)) ### Others -- **contracts:** improve UDS3 and APRCheckpoints docs, code readability and code logic safety ([986b395](https://github.com/ledgity-labs/Ledgity-DeFi/commit/986b39515fb3b09e63a2ba2d85f79937d2a9c584)) -- **deps:** update dependency postcss to v8.4.25 ([91081d7](https://github.com/ledgity-labs/Ledgity-DeFi/commit/91081d7f03b563c088a04072301e3e92fb725740)) -- **deps:** update ipfs/go-ipfs docker tag to v0.21.0 ([8702ab7](https://github.com/ledgity-labs/Ledgity-DeFi/commit/8702ab787d399f674d7d80254e7da5ead65a7d90)) -- **deps:** update nextjs monorepo to v13.4.9 ([1f2952c](https://github.com/ledgity-labs/Ledgity-DeFi/commit/1f2952ce341ff9a9dc0417d05e20a7aa35582941)) +- **contracts:** improve UDS3 and APRCheckpoints docs, code readability and code logic safety ([986b395](https://github.com/ledgity-labs/Ledgity-Yield/commit/986b39515fb3b09e63a2ba2d85f79937d2a9c584)) +- **deps:** update dependency postcss to v8.4.25 ([91081d7](https://github.com/ledgity-labs/Ledgity-Yield/commit/91081d7f03b563c088a04072301e3e92fb725740)) +- **deps:** update ipfs/go-ipfs docker tag to v0.21.0 ([8702ab7](https://github.com/ledgity-labs/Ledgity-Yield/commit/8702ab787d399f674d7d80254e7da5ead65a7d90)) +- **deps:** update nextjs monorepo to v13.4.9 ([1f2952c](https://github.com/ledgity-labs/Ledgity-Yield/commit/1f2952ce341ff9a9dc0417d05e20a7aa35582941)) ## [1.115.0](https://github.com/ledgity-labs/dapp/compare/v1.114.1...v1.115.0) (2023-07-09) diff --git a/contracts/abis/LDYStaking.json b/contracts/abis/LDYStaking.json index 9bf6657d..695f2449 100644 --- a/contracts/abis/LDYStaking.json +++ b/contracts/abis/LDYStaking.json @@ -1,371 +1 @@ -[ - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint16", "name": "newAPRUD7x3", "type": "uint16" } - ], - "name": "APRChangeEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "address", "name": "beacon", "type": "address" }], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" }], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "account", "type": "address" } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint256", "name": "newTotalStaked", "type": "uint256" } - ], - "name": "TotalStakedUpdateEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "account", "type": "address" } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "claim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "compound", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "fuel", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getAPR", - "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint216", "name": "addedAmount", "type": "uint216" } - ], - "name": "getNewLockEndFor", - "outputs": [{ "internalType": "uint40", "name": "", "type": "uint40" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "tier", "type": "uint256" }], - "name": "getTier", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalBlacklist", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalOwner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalPause", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "globalOwner_", "type": "address" }, - { "internalType": "address", "name": "globalPause_", "type": "address" }, - { "internalType": "address", "name": "globalBlacklist_", "type": "address" }, - { "internalType": "address", "name": "ldyTokenAddress", "type": "address" } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "invested", - "outputs": [{ "internalType": "contract IERC20Upgradeable", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "lockEndOf", - "outputs": [{ "internalType": "uint40", "name": "", "type": "uint40" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "tokenAddress", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "recoverERC20", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "recoverLDY", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "rewardsOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "rewardsRedirectsFromTo", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "name": "rewardsRedirectsToFrom", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardsReserve", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint16", "name": "aprUD7x3", "type": "uint16" }], - "name": "setAPR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint40", "name": "stakeLockDuration_", "type": "uint40" }], - "name": "setStakeLockDuration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "tier", "type": "uint256" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "setTier", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint32", "name": "unlockFeesRateUD7x3_", "type": "uint32" }], - "name": "setUnlockFeesRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint216", "name": "amount", "type": "uint216" }], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeLockDuration", - "outputs": [{ "internalType": "uint40", "name": "", "type": "uint40" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "stakeOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" } - ], - "name": "startRewardsRedirection", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" } - ], - "name": "stopRewardsRedirection", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "tierOf", - "outputs": [{ "internalType": "uint256", "name": "tier", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStaked", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unlockFeesRateUD7x3", - "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint216", "name": "amount", "type": "uint216" }], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newImplementation", "type": "address" }], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newImplementation", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } -] +[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"tierOf","outputs":[{"internalType":"uint256","name":"tier","type":"uint256"}],"stateMutability":"pure","type":"function"}] \ No newline at end of file diff --git a/contracts/abis/LToken.json b/contracts/abis/LToken.json index e6746f65..cea1fce4 100644 --- a/contracts/abis/LToken.json +++ b/contracts/abis/LToken.json @@ -1,640 +1 @@ -[ - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint16", "name": "newAPRUD7x3", "type": "uint16" } - ], - "name": "APRChangeEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "int256", "name": "id", "type": "int256" }, - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "enum LToken.Action", "name": "action", "type": "uint8" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amountAfterFees", "type": "uint256" }, - { - "indexed": false, - "internalType": "enum LToken.Status", - "name": "newStatus", - "type": "uint8" - } - ], - "name": "ActivityEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "address", "name": "beacon", "type": "address" }], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" }], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "balanceBefore", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "rewards", "type": "uint256" } - ], - "name": "MintedRewardsEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "account", "type": "address" } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint256", "name": "newTVL", "type": "uint256" } - ], - "name": "TVLChangeEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "account", "type": "address" } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "spender", "type": "address" } - ], - "name": "allowance", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "approve", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "processQueuedRequests", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "requestId", "type": "uint256" }], - "name": "processBigQueuedRequest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "requestId", "type": "uint256" }], - "name": "cancelWithdrawalRequest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } - ], - "name": "decreaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "depositFor", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "feesRateUD7x3", - "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "frozenRequests", - "outputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint96", "name": "amount", "type": "uint96" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fund", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getAPR", - "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExpectedRetained", - "outputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "getWithdrawnAmountAndFees", - "outputs": [ - { "internalType": "uint256", "name": "withdrawnAmount", "type": "uint256" }, - { "internalType": "uint256", "name": "fees", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalBlacklist", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalOwner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalPause", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "addedValue", "type": "uint256" } - ], - "name": "increaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "globalOwner_", "type": "address" }, - { "internalType": "address", "name": "globalPause_", "type": "address" }, - { "internalType": "address", "name": "globalBlacklist_", "type": "address" }, - { "internalType": "address", "name": "ldyStaking_", "type": "address" }, - { "internalType": "address", "name": "underlyingToken", "type": "address" } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "instantWithdrawal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "invested", - "outputs": [{ "internalType": "contract IERC20Upgradeable", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ldyStaking", - "outputs": [{ "internalType": "contract LDYStaking", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "listenerContract", "type": "address" }], - "name": "listenToTransfers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "realBalanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "realTotalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "tokenAddress", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "recoverERC20", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "recoverUnderlying", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "repatriate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "requestWithdrawal", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "retentionRateUD7x3", - "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "rewardsRedirectsFromTo", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "uint256", "name": "", "type": "uint256" } - ], - "name": "rewardsRedirectsToFrom", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint16", "name": "aprUD7x3", "type": "uint16" }], - "name": "setAPR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint32", "name": "feesRateUD7x3_", "type": "uint32" }], - "name": "setFeesRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address payable", "name": "fund_", "type": "address" }], - "name": "setFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "ldyStakingAddress", "type": "address" }], - "name": "setLDYStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint32", "name": "retentionRateUD7x3_", "type": "uint32" }], - "name": "setRetentionRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address payable", "name": "withdrawer_", "type": "address" }], - "name": "setWithdrawer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" } - ], - "name": "startRewardsRedirection", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" } - ], - "name": "stopRewardsRedirection", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalQueued", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transfer", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transferFrom", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "transfersListeners", - "outputs": [{ "internalType": "contract ITransfersListener", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unclaimedFees", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "underlying", - "outputs": [{ "internalType": "contract IERC20Upgradeable", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "listenerContract", "type": "address" }], - "name": "unlistenToTransfers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "unmintedRewardsOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newImplementation", "type": "address" }], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newImplementation", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "usableUnderlyings", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "withdrawTo", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "withdrawalQueue", - "outputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint96", "name": "amount", "type": "uint96" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawalQueueCursor", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawer", - "outputs": [{ "internalType": "address payable", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - } -] +[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"newAPRUD7x3","type":"uint16"}],"name":"APRChangeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int256","name":"id","type":"int256"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"enum LToken.Action","name":"action","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountAfterFees","type":"uint256"},{"indexed":false,"internalType":"enum LToken.Status","name":"newStatus","type":"uint8"}],"name":"ActivityEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"beacon","type":"address"}],"name":"BeaconUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"balanceBefore","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewards","type":"uint256"}],"name":"MintedRewardsEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newTVL","type":"uint256"}],"name":"TVLChangeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"name":"cancelWithdrawalRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feesRateUD7x3","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"frozenRequests","outputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint96","name":"amount","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fund","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAPR","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getExpectedRetained","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getWithdrawnAmountAndFees","outputs":[{"internalType":"uint256","name":"withdrawnAmount","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalBlacklist","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"globalPause","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"globalOwner_","type":"address"},{"internalType":"address","name":"globalPause_","type":"address"},{"internalType":"address","name":"globalBlacklist_","type":"address"},{"internalType":"address","name":"ldyStaking_","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"instantWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"invested","outputs":[{"internalType":"contract IERC20Upgradeable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ldyStaking","outputs":[{"internalType":"contract LDYStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"listenerContract","type":"address"}],"name":"listenToTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"name":"processBigQueuedRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"processQueuedRequests","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"realBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"realTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverUnderlying","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"repatriate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"requestWithdrawal","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"retentionRateUD7x3","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewardsRedirectsFromTo","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"rewardsRedirectsToFrom","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"aprUD7x3","type":"uint16"}],"name":"setAPR","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"feesRateUD7x3_","type":"uint32"}],"name":"setFeesRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"fund_","type":"address"}],"name":"setFund","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ldyStakingAddress","type":"address"}],"name":"setLDYStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"retentionRateUD7x3_","type":"uint32"}],"name":"setRetentionRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"withdrawer_","type":"address"}],"name":"setWithdrawer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"startRewardsRedirection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"stopRewardsRedirection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalQueued","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"transfersListeners","outputs":[{"internalType":"contract ITransfersListener","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unclaimedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"underlying","outputs":[{"internalType":"contract IERC20Upgradeable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"listenerContract","type":"address"}],"name":"unlistenToTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unmintedRewardsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"usableUnderlyings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"withdrawalQueue","outputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint96","name":"amount","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawalQueueCursor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawer","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"}] \ No newline at end of file diff --git a/contracts/hardhat/scripts/deploy-DummyLDYStaking.ts b/contracts/hardhat/scripts/deploy-LDYStaking.ts similarity index 69% rename from contracts/hardhat/scripts/deploy-DummyLDYStaking.ts rename to contracts/hardhat/scripts/deploy-LDYStaking.ts index 3ac57f07..cf722566 100644 --- a/contracts/hardhat/scripts/deploy-DummyLDYStaking.ts +++ b/contracts/hardhat/scripts/deploy-LDYStaking.ts @@ -1,6 +1,6 @@ import { deploy } from "./lib/deploy"; -const main = async () => await deploy("DummyLDYStaking"); +const main = async () => await deploy("LDYStaking"); export default main().catch((error) => { console.error(error); diff --git a/contracts/hardhat/scripts/deploy-all-august-2023.ts b/contracts/hardhat/scripts/deploy-all-august-2023.ts index c7379838..74a4fd34 100644 --- a/contracts/hardhat/scripts/deploy-all-august-2023.ts +++ b/contracts/hardhat/scripts/deploy-all-august-2023.ts @@ -30,7 +30,7 @@ export const main = async () => { // - Deploy a dummy LDYStaking contract (until real one is available) await ( - await import("./deploy-DummyLDYStaking") + await import("./deploy-LDYStaking") ).default; // - (if localnet) Deploy a fake USDC token diff --git a/contracts/src/dev/LDYStaking.sol b/contracts/src/dev/LDYStaking.sol index 77d430a0..ae69158f 100644 --- a/contracts/src/dev/LDYStaking.sol +++ b/contracts/src/dev/LDYStaking.sol @@ -14,7 +14,7 @@ import {IERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20 /** * @title LDYStaking * @author Lila Rest (lila@ledgity.com) - * @notice This contract powers the $LDY staking mechanism of the Ledgity DeFi app. It allows + * @notice This contract powers the $LDY staking mechanism of the Ledgity Yield app. It allows * users to stake their $LDY tokens and earn rewards in $LDY. * @dev * Security note: InvestmentUpgradeable.AccountInfos.virtualBalance (uint88) allows storing up diff --git a/package.json b/package.json index 66475650..31c177cb 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "cc:compile": "hardhat compile", "cc:compile-doesnt-work-on-vercel": "hardhat compile && wagmi generate && ts-node ./contracts/extract-abis.ts", "cc:local-deploy": "npx hardhat run contracts/hardhat/scripts/deploy-all-august-2023.ts --network localhost", - "graph:node": "cd thegraph/local-node && docker-compose up", + "graph:node": "cd subgraph/local-node && docker-compose up", + "graph:local-build": "cd subgraph && graph codegen ./localhost-subgraph.yaml && graph build ./localhost-subgraph.yaml", "graph:local-create": "graph create --node http://0.0.0.0:8020/ localhost-subgraph ", "graph:local-remove": "graph remove --node http://0.0.0.0:8020/ localhost-subgraph", "graph:local-deploy": "graph deploy --node http://0.0.0.0:8020/ --ipfs http://0.0.0.0:5001 localhost-subgraph ./subgraph/localhost-subgraph.yaml" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51ae9648..cfc061f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,7 +67,7 @@ dependencies: version: 3.3.0 next: specifier: 13.4.9 - version: 13.4.9(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + version: 13.4.9(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -96,7 +96,7 @@ dependencies: devDependencies: '@graphprotocol/client-cli': specifier: ^3.0.0 - version: 3.0.0(@babel/core@7.22.9)(@envelop/core@4.0.0)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/delegate@10.0.1)(@graphql-tools/merge@9.0.0)(@graphql-tools/utils@9.2.1)(@graphql-tools/wrap@10.0.0)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3) + version: 3.0.0(@babel/core@7.22.10)(@envelop/core@4.0.0)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/delegate@10.0.1)(@graphql-tools/merge@9.0.0)(@graphql-tools/utils@9.2.1)(@graphql-tools/wrap@10.0.0)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3) '@graphprotocol/graph-ts': specifier: ^0.31.0 version: 0.31.0 @@ -215,7 +215,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 /@ardatan/fast-json-stringify@0.0.6(ajv-formats@2.1.1)(ajv@8.12.0): resolution: {integrity: sha512-//BefMIP6U1ptNeBf44Le4vqThejTwZndtYLtAuFBwA/DmbVbbYTCLNIMhZ96WZnhI92EvTXneT5tKJrgINE9A==} @@ -236,13 +236,13 @@ packages: peerDependencies: graphql: '*' dependencies: - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 - '@babel/parser': 7.22.7 - '@babel/runtime': 7.22.6 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/runtime': 7.22.10 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.10) chalk: 4.1.2 fb-watchman: 2.0.2 fbjs: 3.0.5 @@ -288,7 +288,7 @@ packages: resolution: {integrity: sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.0.2 + '@smithy/types': 2.1.0 tslib: 2.6.1 dev: true @@ -298,30 +298,31 @@ packages: tslib: 2.6.1 dev: true - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + /@babel/code-frame@7.22.10: + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.22.10 + chalk: 2.4.2 /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.9: - resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + /@babel/core@7.22.10: + resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) - '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.7 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 convert-source-map: 1.9.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -330,75 +331,72 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.22.9: - resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + /@babel/generator@7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: - resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10: + resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 '@babel/helper-validator-option': 7.22.5 browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} + /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.9): + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.9): + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.10): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4(supports-color@8.1.1) lodash.debounce: 4.0.8 @@ -415,33 +413,33 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-member-expression-to-functions@7.22.5: resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 @@ -452,30 +450,30 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.9): + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.9 + '@babel/helper-wrap-function': 7.22.10 - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9): + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 @@ -484,19 +482,19 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} @@ -510,1045 +508,1033 @@ packages: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.9: - resolution: {integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==} + /@babel/helper-wrap-function@7.22.10: + resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/helpers@7.22.6: - resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + /@babel/helpers@7.22.10: + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.22.10: + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.7: - resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} + /@babel/parser@7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.9): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.9): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) + '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.9): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.10): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.9): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.22.9): + /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.10) - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.9): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.9): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.9): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.10): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.9): + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.9): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.10): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.9): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.22.10 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.9): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.9): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.22.9): - resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} + /@babel/plugin-transform-async-generator-functions@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} + /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) - /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.9): + /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.10): resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.5 - /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} + /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 + '@babel/core': 7.22.10 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.10) - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.9): - resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} + /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/types': 7.22.10 - /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} + /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.1 + regenerator-transform: 0.15.2 - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-runtime@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==} + /@babel/plugin-transform-runtime@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-RchI7HePu1eu0CYNKHHHQdfenZcM4nz8rew5B1VWqeRKdcwW5aQ5HeG9eTUbWiAS1UrmHVLmoxTWHt3iLD/NhA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.9) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.9) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.9) + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10) semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==} + /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) - /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.9): - resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} + /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.9): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - /@babel/preset-env@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} + /@babel/preset-env@7.22.10(@babel/core@7.22.10): + resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-async-generator-functions': 7.22.7(@babel/core@7.22.9) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.9) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) - '@babel/preset-modules': 0.1.6(@babel/core@7.22.9) - '@babel/types': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.9) - babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.9) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.9) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-async-generator-functions': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.10) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.10) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.10) + '@babel/types': 7.22.10 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10) core-js-compat: 3.32.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/preset-flow@7.22.5(@babel/core@7.22.9): + /@babel/preset-flow@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.10) - /@babel/preset-modules@0.1.6(@babel/core@7.22.9): - resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.10): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 esutils: 2.0.3 - /@babel/preset-typescript@7.22.5(@babel/core@7.22.9): + /@babel/preset-typescript@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.22.9) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) - /@babel/register@7.22.5(@babel/core@7.22.9): + /@babel/register@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -1558,39 +1544,39 @@ packages: /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime@7.22.6: - resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + /@babel/runtime@7.22.10: + resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.0 /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/code-frame': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 - /@babel/traverse@7.22.8: - resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} + /@babel/traverse@7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 @@ -1730,6 +1716,7 @@ packages: /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + requiresBuild: true dependencies: '@jridgewell/trace-mapping': 0.3.9 dev: true @@ -2261,7 +2248,7 @@ packages: tslib: 2.6.1 dev: true - /@graphprotocol/client-cli@3.0.0(@babel/core@7.22.9)(@envelop/core@4.0.0)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/delegate@10.0.1)(@graphql-tools/merge@9.0.0)(@graphql-tools/utils@9.2.1)(@graphql-tools/wrap@10.0.0)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3): + /@graphprotocol/client-cli@3.0.0(@babel/core@7.22.10)(@envelop/core@4.0.0)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/delegate@10.0.1)(@graphql-tools/merge@9.0.0)(@graphql-tools/utils@9.2.1)(@graphql-tools/wrap@10.0.0)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3): resolution: {integrity: sha512-hTISbOzKavlDifBNsR6JqQMfdYwY7++hflPy+c3WHRrZ4OMoxFmW7ZuvaP6LvgKdJV77O8w9dnT/uxeHs6a90g==} engines: {node: '>=16.0.0'} hasBin: true @@ -2273,7 +2260,7 @@ packages: '@graphprotocol/client-auto-type-merging': 2.0.0(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/delegate@10.0.1)(graphql@16.7.1) '@graphprotocol/client-block-tracking': 2.0.0(@graphql-tools/delegate@10.0.1)(graphql@16.7.1) '@graphprotocol/client-polling-live': 2.0.0(@envelop/core@4.0.0)(@graphql-tools/merge@9.0.0)(graphql@16.7.1) - '@graphql-mesh/cli': 0.82.35(@babel/core@7.22.9)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3) + '@graphql-mesh/cli': 0.82.35(@babel/core@7.22.10)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3) '@graphql-mesh/graphql': 0.93.1(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/utils@9.2.1)(@types/node@20.4.8)(graphql@16.7.1)(tslib@2.6.1) graphql: 16.7.1 tslib: 2.6.1 @@ -2536,7 +2523,7 @@ packages: tslib: 2.6.1 dev: true - /@graphql-mesh/cli@0.82.35(@babel/core@7.22.9)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3): + /@graphql-mesh/cli@0.82.35(@babel/core@7.22.10)(@types/node@20.4.8)(graphql-tag@2.12.6)(graphql@16.7.1)(react-native@0.72.3): resolution: {integrity: sha512-5IuXpk+Zpg05u6qNPX19VzC5/HCiLdDRF6EPZ3ze57FIRgGA3YsB1CUGga6Ky3inalURYwx0kWqmdjbdKZYx1w==} hasBin: true peerDependencies: @@ -2548,7 +2535,7 @@ packages: '@graphql-codegen/typescript-generic-sdk': 3.1.0(graphql-tag@2.12.6)(graphql@16.7.1) '@graphql-codegen/typescript-operations': 3.0.4(graphql@16.7.1) '@graphql-codegen/typescript-resolvers': 3.2.1(graphql@16.7.1) - '@graphql-mesh/config': 0.93.1(@babel/core@7.22.9)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/runtime@0.93.2)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1) + '@graphql-mesh/config': 0.93.1(@babel/core@7.22.10)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/runtime@0.93.2)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1) '@graphql-mesh/cross-helpers': 0.3.4(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(react-native@0.72.3) '@graphql-mesh/http': 0.93.2(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/runtime@0.93.2)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(graphql@16.7.1)(tslib@2.6.1) '@graphql-mesh/runtime': 0.93.2(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1) @@ -2590,7 +2577,7 @@ packages: - utf-8-validate dev: true - /@graphql-mesh/config@0.93.1(@babel/core@7.22.9)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/runtime@0.93.2)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1): + /@graphql-mesh/config@0.93.1(@babel/core@7.22.10)(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/runtime@0.93.2)(@graphql-mesh/store@0.93.1)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1): resolution: {integrity: sha512-g4omjuBBVPtyhEDeEa6uwfSSvUehV3zcwZVNbk+UJuFJEYPO4yBLsxfEZBpoeO6EriiPX2WnQyn5kiHbC3YTRA==} peerDependencies: '@graphql-mesh/cross-helpers': ^0.3.4 @@ -2611,7 +2598,7 @@ packages: '@graphql-mesh/store': 0.93.1(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/types@0.93.2)(@graphql-mesh/utils@0.93.2)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1) '@graphql-mesh/types': 0.93.2(@graphql-mesh/store@0.93.1)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1) '@graphql-mesh/utils': 0.93.2(@graphql-mesh/cross-helpers@0.3.4)(@graphql-mesh/types@0.93.2)(@graphql-tools/utils@9.2.1)(graphql@16.7.1)(tslib@2.6.1) - '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.22.9)(graphql@16.7.1) + '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.22.10)(graphql@16.7.1) '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.7.1) '@graphql-tools/load': 7.8.14(graphql@16.7.1) '@graphql-tools/utils': 9.2.1(graphql@16.7.1) @@ -2886,12 +2873,12 @@ packages: value-or-promise: 1.0.12 dev: true - /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.22.9)(graphql@16.7.1): + /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.22.10)(graphql@16.7.1): resolution: {integrity: sha512-8Wt1rTtyTEs0p47uzsPJ1vAtfAx0jmxPifiNdmo9EOCuUPyQGEbMaik/YkqZ7QUFIEYEQu+Vgfo8tElwOPtx5Q==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.7.1) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.10)(graphql@16.7.1) '@graphql-tools/utils': 9.2.1(graphql@16.7.1) globby: 11.1.0 graphql: 16.7.1 @@ -3038,15 +3025,15 @@ packages: unixify: 1.0.0 dev: true - /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.22.9)(graphql@16.7.1): + /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.22.10)(graphql@16.7.1): resolution: {integrity: sha512-RW+H8FqOOLQw0BPXaahYepVSRjuOHw+7IL8Opaa5G5uYGOBxoXR7DceyQ7BcpMgktAOOmpDNQ2WtcboChOJSRA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/parser': 7.22.7 - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.9) - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.10) + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 '@graphql-tools/utils': 9.2.1(graphql@16.7.1) graphql: 16.7.1 tslib: 2.6.1 @@ -3398,16 +3385,11 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} + '@jridgewell/trace-mapping': 0.3.19 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} @@ -3417,22 +3399,20 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + '@jridgewell/trace-mapping': 0.3.19 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + requiresBuild: true dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -4203,7 +4183,7 @@ packages: dependencies: cbor: 9.0.1 chalk: 4.1.2 - compare-versions: 6.0.0 + compare-versions: 6.1.0 debug: 4.3.4(supports-color@8.1.1) ethereumjs-util: 7.1.5 minimist: 1.2.8 @@ -4217,7 +4197,7 @@ packages: resolution: {integrity: sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==} dependencies: asn1js: 3.0.5 - pvtsutils: 1.3.2 + pvtsutils: 1.3.3 tslib: 2.6.1 dev: true @@ -4234,7 +4214,7 @@ packages: dependencies: '@peculiar/asn1-schema': 2.3.6 '@peculiar/json-schema': 1.1.12 - pvtsutils: 1.3.2 + pvtsutils: 1.3.3 tslib: 2.6.1 webcrypto-core: 1.7.7 dev: true @@ -4282,13 +4262,13 @@ packages: /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 dev: false /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 dev: false /@radix-ui/react-alert-dialog@1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0): @@ -4304,7 +4284,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4330,7 +4310,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.18 '@types/react-dom': 18.2.7 @@ -4351,7 +4331,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) @@ -4371,7 +4351,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/react': 18.2.18 react: 18.2.0 dev: false @@ -4385,7 +4365,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/react': 18.2.18 react: 18.2.0 dev: false @@ -4403,7 +4383,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4433,7 +4413,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/react': 18.2.18 react: 18.2.0 dev: false @@ -4451,7 +4431,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) @@ -4472,7 +4452,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/react': 18.2.18 react: 18.2.0 dev: false @@ -4490,7 +4470,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4509,7 +4489,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@types/react': 18.2.18 react: 18.2.0 @@ -4528,7 +4508,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4558,7 +4538,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.18 '@types/react-dom': 18.2.7 @@ -4579,7 +4559,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@types/react': 18.2.18 @@ -4601,7 +4581,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.18)(react@18.2.0) '@types/react': 18.2.18 '@types/react-dom': 18.2.7 @@ -4622,7 +4602,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4652,7 +4632,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4681,7 +4661,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) @@ -4718,7 +4698,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@types/react': 18.2.18 react: 18.2.0 @@ -4737,7 +4717,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4764,7 +4744,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4792,7 +4772,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.18)(react@18.2.0) @@ -4820,7 +4800,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/react': 18.2.18 react: 18.2.0 dev: false @@ -4834,7 +4814,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@types/react': 18.2.18 react: 18.2.0 @@ -4849,7 +4829,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@types/react': 18.2.18 react: 18.2.0 @@ -4864,7 +4844,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/react': 18.2.18 react: 18.2.0 dev: false @@ -4878,7 +4858,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/react': 18.2.18 react: 18.2.0 dev: false @@ -4892,7 +4872,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/rect': 1.0.1 '@types/react': 18.2.18 react: 18.2.0 @@ -4907,7 +4887,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.18)(react@18.2.0) '@types/react': 18.2.18 react: 18.2.0 @@ -4926,7 +4906,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.18 '@types/react-dom': 18.2.7 @@ -4937,7 +4917,7 @@ packages: /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 dev: false /@rainbow-me/rainbowkit@1.0.8(@types/react@18.2.18)(react-dom@18.2.0)(react@18.2.0)(viem@1.5.3)(wagmi@1.3.9): @@ -5050,7 +5030,7 @@ packages: transitivePeerDependencies: - encoding - /@react-native-community/cli-plugin-metro@11.3.5(@babel/core@7.22.9): + /@react-native-community/cli-plugin-metro@11.3.5(@babel/core@7.22.10): resolution: {integrity: sha512-r9AekfeLKdblB7LfWB71IrNy1XM03WrByQlUQajUOZAP2NmUUBLl9pMZscPjJeOSgLpHB9ixEFTIOhTabri/qg==} dependencies: '@react-native-community/cli-server-api': 11.3.5 @@ -5060,7 +5040,7 @@ packages: metro: 0.76.7 metro-config: 0.76.7 metro-core: 0.76.7 - metro-react-native-babel-transformer: 0.76.7(@babel/core@7.22.9) + metro-react-native-babel-transformer: 0.76.7(@babel/core@7.22.10) metro-resolver: 0.76.7 metro-runtime: 0.76.7 readline: 1.3.0 @@ -5109,7 +5089,7 @@ packages: dependencies: joi: 17.9.2 - /@react-native-community/cli@11.3.5(@babel/core@7.22.9): + /@react-native-community/cli@11.3.5(@babel/core@7.22.10): resolution: {integrity: sha512-wMXgKEWe6uesw7vyXKKjx5EDRog0QdXHxdgRguG14AjQRao1+4gXEWq2yyExOTi/GDY6dfJBUGTCwGQxhnk/Lg==} engines: {node: '>=16'} hasBin: true @@ -5119,7 +5099,7 @@ packages: '@react-native-community/cli-debugger-ui': 11.3.5 '@react-native-community/cli-doctor': 11.3.5 '@react-native-community/cli-hermes': 11.3.5 - '@react-native-community/cli-plugin-metro': 11.3.5(@babel/core@7.22.9) + '@react-native-community/cli-plugin-metro': 11.3.5(@babel/core@7.22.10) '@react-native-community/cli-server-api': 11.3.5 '@react-native-community/cli-tools': 11.3.5 '@react-native-community/cli-types': 11.3.5 @@ -5141,15 +5121,15 @@ packages: /@react-native/assets-registry@0.72.0: resolution: {integrity: sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ==} - /@react-native/codegen@0.72.6(@babel/preset-env@7.22.9): + /@react-native/codegen@0.72.6(@babel/preset-env@7.22.10): resolution: {integrity: sha512-idTVI1es/oopN0jJT/0jB6nKdvTUKE3757zA5+NPXZTeB46CIRbmmos4XBiAec8ufu9/DigLPbHTYAaMNZJ6Ig==} peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/parser': 7.22.7 - '@babel/preset-env': 7.22.9(@babel/core@7.22.9) + '@babel/parser': 7.22.10 + '@babel/preset-env': 7.22.10(@babel/core@7.22.10) flow-parser: 0.206.0 - jscodeshift: 0.14.0(@babel/preset-env@7.22.9) + jscodeshift: 0.14.0(@babel/preset-env@7.22.10) nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -5170,14 +5150,14 @@ packages: dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react-native: 0.72.3(@babel/core@7.22.9)(@babel/preset-env@7.22.9)(react@18.2.0) + react-native: 0.72.3(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(react@18.2.0) /@repeaterjs/repeater@3.0.4: resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} dev: true - /@rushstack/eslint-patch@1.3.2: - resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} + /@rushstack/eslint-patch@1.3.3: + resolution: {integrity: sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==} dev: true /@safe-global/safe-apps-provider@0.17.1(typescript@5.1.6)(zod@3.21.4): @@ -5466,8 +5446,8 @@ packages: dependencies: '@sinonjs/commons': 3.0.0 - /@smithy/types@2.0.2: - resolution: {integrity: sha512-wcymEjIXQ9+NEfE5Yt5TInAqe1o4n+Nh+rh00AwoazppmUt8tdo6URhc5gkDcOYrcvlDVAZE7uG69nDpEGUKxw==} + /@smithy/types@2.1.0: + resolution: {integrity: sha512-KLsCsqxX0j2l99iP8s0f7LBlcsp7a7ceXGn0LPYPyVOsqmIKvSaPQajq0YevlL4T9Bm+DtcyXfBTbtBcLX1I7A==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.1 @@ -5482,11 +5462,11 @@ packages: /@solana/web3.js@1.78.3: resolution: {integrity: sha512-qhpnyIlrj/4Czw1dBFZK6KgZBk5FwuJhvMl0C7m94jhl90yDC8b6w4svKwPjhB+OOrdQAzHyRp0+ocEs/Liw7w==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@noble/curves': 1.1.0 '@noble/hashes': 1.3.1 '@solana/buffer-layout': 4.0.1 - agentkeepalive: 4.4.0 + agentkeepalive: 4.5.0 bigint-buffer: 1.1.5 bn.js: 5.2.1 borsh: 0.7.0 @@ -5500,7 +5480,6 @@ packages: transitivePeerDependencies: - bufferutil - encoding - - supports-color - utf-8-validate /@solidity-parser/parser@0.14.5: @@ -5676,7 +5655,7 @@ packages: '@tanstack/query-core': 4.32.6 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-native: 0.72.3(@babel/core@7.22.9)(@babel/preset-env@7.22.9)(react@18.2.0) + react-native: 0.72.3(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) /@tanstack/react-table@8.9.3(react-dom@18.2.0)(react@18.2.0): @@ -5698,18 +5677,22 @@ packages: /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + requiresBuild: true dev: true /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + requiresBuild: true dev: true /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + requiresBuild: true dev: true /@tsconfig/node16@1.0.4: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + requiresBuild: true dev: true /@typechain/ethers-v6@0.4.3(ethers@6.7.0)(typechain@8.3.1)(typescript@5.1.6): @@ -6171,7 +6154,7 @@ packages: eventemitter3: 4.0.7 typescript: 5.1.6 viem: 1.5.3(typescript@5.1.6)(zod@3.21.4) - zustand: 4.4.0(@types/react@18.2.18)(react@18.2.0) + zustand: 4.4.1(@types/react@18.2.18)(react@18.2.0) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - '@types/react' @@ -6642,6 +6625,7 @@ packages: /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} + requiresBuild: true dev: true /acorn@8.10.0: @@ -6688,15 +6672,11 @@ packages: - supports-color dev: true - /agentkeepalive@4.4.0: - resolution: {integrity: sha512-MysLRwkhsJTZKs+fsZIsTgBlr3IjQroonVJWMSqC9k3LS6f6ZifePl9fCqOtvc8p0CeYDSZVFvytdkwhOGaSZA==} + /agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) - depd: 2.0.0 humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} @@ -6868,6 +6848,7 @@ packages: /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + requiresBuild: true dev: true /arg@5.0.2: @@ -7024,7 +7005,7 @@ packages: resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} engines: {node: '>=12.0.0'} dependencies: - pvtsutils: 1.3.2 + pvtsutils: 1.3.3 pvutils: 1.1.3 tslib: 2.6.1 dev: true @@ -7157,88 +7138,88 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false - /babel-core@7.0.0-bridge.0(@babel/core@7.22.9): + /babel-core@7.0.0-bridge.0(@babel/core@7.22.10): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.9): + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.10): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.22.9 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) semver: 6.3.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.9): + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) core-js-compat: 3.32.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.9): + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.10): resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10) transitivePeerDependencies: - supports-color /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.9): + /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.22.10): resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} dependencies: - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.10) transitivePeerDependencies: - '@babel/core' - /babel-preset-fbjs@3.4.0(@babel/core@7.22.9): + /babel-preset-fbjs@3.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.9) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.10) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.10) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 /balanced-match@1.0.2: @@ -7409,7 +7390,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001519 - electron-to-chromium: 1.4.485 + electron-to-chromium: 1.4.487 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) @@ -8038,8 +8019,8 @@ packages: dot-prop: 5.3.0 dev: true - /compare-versions@6.0.0: - resolution: {integrity: sha512-s2MzYxfRsE9f/ow8hjn7ysa7pod1xhHdQMsgiJtKx6XSNf4x2N1KG4fjrkUmXcP/e9Y2ZX4zB6sHIso0Lm6evQ==} + /compare-versions@6.1.0: + resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} dev: true /compressible@2.0.18: @@ -8242,6 +8223,7 @@ packages: /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + requiresBuild: true dev: true /cross-fetch@3.1.8: @@ -8363,7 +8345,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.3 + ms: 2.1.1 supports-color: 6.0.0 dev: true @@ -8579,6 +8561,7 @@ packages: /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} + requiresBuild: true dev: true /diff@5.0.0: @@ -8689,8 +8672,8 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium@1.4.485: - resolution: {integrity: sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w==} + /electron-to-chromium@1.4.487: + resolution: {integrity: sha512-XbCRs/34l31np/p33m+5tdBrdXu9jJkZxSbNxj5I0H1KtV2ZMSB+i/HYqDiRzHaFx2T5EdytjoBRe8QRJE2vQg==} /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -9117,11 +9100,11 @@ packages: optional: true dependencies: '@next/eslint-plugin-next': 13.4.9 - '@rushstack/eslint-patch': 1.3.2 + '@rushstack/eslint-patch': 1.3.3 '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.1.6) eslint: 8.44.0 - eslint-import-resolver-node: 0.3.8 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.44.0) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.44.0) eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.44.0) eslint-plugin-react: 7.33.1(eslint@8.44.0) @@ -9132,8 +9115,8 @@ packages: - supports-color dev: true - /eslint-import-resolver-node@0.3.8: - resolution: {integrity: sha512-tEe+Pok22qIGaK3KoMP+N96GVDS66B/zreoVVmiavLvRUEmGRtvb4B8wO9jwnb8d2lvHtrkhZ7UD73dWBVnf/Q==} + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.0 @@ -9142,7 +9125,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.44.0): + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.44.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -9152,7 +9135,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.44.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) eslint-plugin-import: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) get-tsconfig: 4.6.2 globby: 13.2.2 @@ -9166,7 +9149,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -9190,8 +9173,8 @@ packages: '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.1.6) debug: 3.2.7 eslint: 8.44.0 - eslint-import-resolver-node: 0.3.8 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.44.0) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.44.0) transitivePeerDependencies: - supports-color dev: true @@ -9214,8 +9197,8 @@ packages: debug: 3.2.7 doctrine: 2.1.0 eslint: 8.44.0 - eslint-import-resolver-node: 0.3.8 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -9238,7 +9221,7 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 aria-query: 5.3.0 array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 @@ -10313,7 +10296,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.4 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -11466,7 +11449,7 @@ packages: resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 '@jest/types': 29.6.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -11599,23 +11582,23 @@ packages: /jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - /jscodeshift@0.14.0(@babel/preset-env@7.22.9): + /jscodeshift@0.14.0(@babel/preset-env@7.22.10): resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/core': 7.22.9 - '@babel/parser': 7.22.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.9) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) - '@babel/preset-env': 7.22.9(@babel/core@7.22.9) - '@babel/preset-flow': 7.22.5(@babel/core@7.22.9) - '@babel/preset-typescript': 7.22.5(@babel/core@7.22.9) - '@babel/register': 7.22.5(@babel/core@7.22.9) - babel-core: 7.0.0-bridge.0(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.10) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) + '@babel/preset-env': 7.22.10(@babel/core@7.22.10) + '@babel/preset-flow': 7.22.5(@babel/core@7.22.10) + '@babel/preset-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/register': 7.22.5(@babel/core@7.22.10) + babel-core: 7.0.0-bridge.0(@babel/core@7.22.10) chalk: 4.1.2 flow-parser: 0.206.0 graceful-fs: 4.2.11 @@ -11673,7 +11656,7 @@ packages: resolution: {integrity: sha512-8MNpRGERlCUWYeJwsWkMrJ0MWzBz49dfqpG+n9viiIlP4othaahbiaNQZuBzmPxRLUhOv1QJMCzW5WE8nHFGIQ==} engines: {node: '>=16'} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 '@types/json-schema': 7.0.12 ts-algebra: 1.2.0 dev: true @@ -12121,6 +12104,7 @@ packages: /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + requiresBuild: true dev: true /makeerror@1.0.12: @@ -12209,7 +12193,7 @@ packages: /media-query-parser@2.0.2: resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 dev: false /memoize-one@5.2.1: @@ -12274,7 +12258,7 @@ packages: resolution: {integrity: sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 hermes-parser: 0.12.0 nullthrows: 1.1.1 transitivePeerDependencies: @@ -12364,64 +12348,64 @@ packages: dependencies: uglify-es: 3.3.9 - /metro-react-native-babel-preset@0.76.7(@babel/core@7.22.9): + /metro-react-native-babel-preset@0.76.7(@babel/core@7.22.10): resolution: {integrity: sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.22.9 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.9) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.9) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.9) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.9) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-runtime': 7.22.9(@babel/core@7.22.9) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.9) - '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.22.9) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.10) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.10) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.10) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-runtime': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.10) '@babel/template': 7.22.5 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.9) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.22.10) react-refresh: 0.4.3 transitivePeerDependencies: - supports-color - /metro-react-native-babel-transformer@0.76.7(@babel/core@7.22.9): + /metro-react-native-babel-transformer@0.76.7(@babel/core@7.22.10): resolution: {integrity: sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==} engines: {node: '>=16'} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.22.9 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.9) + '@babel/core': 7.22.10 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.10) hermes-parser: 0.12.0 - metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.9) + metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.10) nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -12434,15 +12418,15 @@ packages: resolution: {integrity: sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==} engines: {node: '>=16'} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 react-refresh: 0.4.3 /metro-source-map@0.76.7: resolution: {integrity: sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==} engines: {node: '>=16'} dependencies: - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 invariant: 2.2.4 metro-symbolicate: 0.76.7 nullthrows: 1.1.1 @@ -12470,10 +12454,10 @@ packages: resolution: {integrity: sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 + '@babel/core': 7.22.10 + '@babel/generator': 7.22.10 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 + '@babel/traverse': 7.22.10 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -12482,11 +12466,11 @@ packages: resolution: {integrity: sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==} engines: {node: '>=16'} dependencies: - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 - babel-preset-fbjs: 3.4.0(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.10) metro: 0.76.7 metro-babel-transformer: 0.76.7 metro-cache: 0.76.7 @@ -12505,13 +12489,13 @@ packages: engines: {node: '>=16'} hasBin: true dependencies: - '@babel/code-frame': 7.22.5 - '@babel/core': 7.22.9 - '@babel/generator': 7.22.9 - '@babel/parser': 7.22.7 + '@babel/code-frame': 7.22.10 + '@babel/core': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/parser': 7.22.10 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 accepts: 1.3.8 async: 3.2.4 chalk: 4.1.2 @@ -12536,7 +12520,7 @@ packages: metro-inspector-proxy: 0.76.7 metro-minify-terser: 0.76.7 metro-minify-uglify: 0.76.7 - metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.9) + metro-react-native-babel-preset: 0.76.7(@babel/core@7.22.10) metro-resolver: 0.76.7 metro-runtime: 0.76.7 metro-source-map: 0.76.7 @@ -13058,7 +13042,7 @@ packages: resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} dev: true - /next@13.4.9(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0): + /next@13.4.9(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-vtefFm/BWIi/eWOqf1GsmKG3cjKw1k3LjuefKRcL3iiLl3zWzFdPG3as6xtxrGO6gwTzzaO1ktL4oiHt/uvTjA==} engines: {node: '>=16.8.0'} hasBin: true @@ -13083,7 +13067,7 @@ packages: postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.22.9)(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.22.10)(react@18.2.0) watchpack: 2.4.0 zod: 3.21.4 optionalDependencies: @@ -13736,7 +13720,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -13746,7 +13730,7 @@ packages: resolution: {integrity: sha512-kP+TQYAzAiVnzOlWOe0diD6L35s9bJh0SCn95PIbZFKrOYuIRQsQkeWEYxzVDuHTt9V9YqvYCJ2Qo4z9wdfZPw==} engines: {node: '>=16'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 error-ex: 1.3.2 json-parse-even-better-errors: 3.0.0 lines-and-columns: 2.0.3 @@ -14196,8 +14180,8 @@ packages: engines: {node: '>=6'} dev: true - /pvtsutils@1.3.2: - resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} + /pvtsutils@1.3.3: + resolution: {integrity: sha512-6sAOMlXyrJ+8tRN5IAaYfuYZRp1C2uJ0SyDynEFxL+VY8kCRib9Lpj/+KPaNFpaQWr/iRik5nrzz6iaNlxgEGA==} dependencies: tslib: 2.6.1 dev: true @@ -14353,7 +14337,7 @@ packages: optional: true dependencies: base-64: 0.1.0 - react-native: 0.72.3(@babel/core@7.22.9)(@babel/preset-env@7.22.9)(react@18.2.0) + react-native: 0.72.3(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(react@18.2.0) utf8: 3.0.0 dev: true @@ -14361,7 +14345,7 @@ packages: resolution: {integrity: sha512-WJr256xBquk7X2O83QYWKqgLg43Zg3SrgjPc/kr0gCD2LoXA+2L72BW4cmstH12GbGeutqs/eXk3jgDQ2iCSvQ==} dev: true - /react-native@0.72.3(@babel/core@7.22.9)(@babel/preset-env@7.22.9)(react@18.2.0): + /react-native@0.72.3(@babel/core@7.22.10)(@babel/preset-env@7.22.10)(react@18.2.0): resolution: {integrity: sha512-QqISi+JVmCssNP2FlQ4MWhlc4O/I00MRE1/GClvyZ8h/6kdsyk/sOirkYdZqX3+DrJfI3q+OnyMnsyaXIQ/5tQ==} engines: {node: '>=16'} hasBin: true @@ -14369,11 +14353,11 @@ packages: react: 18.2.0 dependencies: '@jest/create-cache-key-function': 29.6.2 - '@react-native-community/cli': 11.3.5(@babel/core@7.22.9) + '@react-native-community/cli': 11.3.5(@babel/core@7.22.10) '@react-native-community/cli-platform-android': 11.3.5 '@react-native-community/cli-platform-ios': 11.3.5 '@react-native/assets-registry': 0.72.0 - '@react-native/codegen': 0.72.6(@babel/preset-env@7.22.9) + '@react-native/codegen': 0.72.6(@babel/preset-env@7.22.10) '@react-native/gradle-plugin': 0.72.11 '@react-native/js-polyfills': 0.72.1 '@react-native/normalize-colors': 0.72.0 @@ -14652,10 +14636,13 @@ packages: /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - /regenerator-transform@0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 /regexp.prototype.flags@1.5.0: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} @@ -14693,7 +14680,7 @@ packages: /relay-runtime@12.0.0: resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: @@ -14924,7 +14911,7 @@ packages: /rpc-websockets@7.5.1: resolution: {integrity: sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w==} dependencies: - '@babel/runtime': 7.22.6 + '@babel/runtime': 7.22.10 eventemitter3: 4.0.7 uuid: 8.3.2 ws: 8.13.0(bufferutil@4.0.7)(utf-8-validate@5.0.10) @@ -15564,8 +15551,8 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - /streamx@2.15.0: - resolution: {integrity: sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==} + /streamx@2.15.1: + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} dependencies: fast-fifo: 1.3.0 queue-tick: 1.0.1 @@ -15732,7 +15719,7 @@ packages: /strnum@1.0.5: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - /styled-jsx@5.1.1(@babel/core@7.22.9)(react@18.2.0): + /styled-jsx@5.1.1(@babel/core@7.22.10)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -15745,7 +15732,7 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 client-only: 0.0.1 react: 18.2.0 dev: false @@ -15941,7 +15928,7 @@ packages: dependencies: b4a: 1.6.4 fast-fifo: 1.3.0 - streamx: 2.15.0 + streamx: 2.15.1 dev: false /temp-dir@3.0.0: @@ -16608,6 +16595,7 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + requiresBuild: true dev: true /validate-npm-package-license@3.0.4: @@ -16749,7 +16737,7 @@ packages: '@peculiar/asn1-schema': 2.3.6 '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 - pvtsutils: 1.3.2 + pvtsutils: 1.3.3 tslib: 2.6.1 dev: true @@ -17083,6 +17071,7 @@ packages: /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} + requiresBuild: true dev: true /yocto-queue@0.1.0: @@ -17105,8 +17094,8 @@ packages: /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - /zustand@4.4.0(@types/react@18.2.18)(react@18.2.0): - resolution: {integrity: sha512-2dq6wq4dSxbiPTamGar0NlIG/av0wpyWZJGeQYtUOLegIUvhM2Bf86ekPlmgpUtS5uR7HyetSiktYrGsdsyZgQ==} + /zustand@4.4.1(@types/react@18.2.18)(react@18.2.0): + resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} peerDependencies: '@types/react': '>=16.8' diff --git a/public/assets/chains/arbitrum-goerli.png b/public/assets/chains/arbitrum-goerli.png new file mode 100644 index 0000000000000000000000000000000000000000..72ee28b22439475cbdaac2b6a92b7bfcd0dd0c6e GIT binary patch literal 269581 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%0Ak{HtM1y{7-r96J1wkei!*o~i_@F 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 `tP=Y*lb+y|3#~DK92=HZL(p)^V&E4LDf&) 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
loader logo diff --git a/src/components/app/ConnectButton.tsx b/src/components/app/ConnectButton.tsx index 9f0b4fbf..2d629312 100644 --- a/src/components/app/ConnectButton.tsx +++ b/src/components/app/ConnectButton.tsx @@ -50,7 +50,7 @@ export const ConnectButton = () => { src={chainsIcons[_chain.id] ?? ""} width={20} height={20} - className="w-6 h-6" + className="w-6 h-6 rounded-md overflow-hidden" />

{_chain.name}

@@ -64,7 +64,10 @@ export const ConnectButton = () => { onClick={openAccountModal} size="medium" variant={wrongNetwork ? "destructive" : "primary"} - className={clsx("flex justify-between gap-3 overflow-hidden", !wrongNetwork && "pr-[5px]")} + className={clsx( + "flex justify-between gap-3 overflow-hidden", + !wrongNetwork && "pr-[5px]", + )} > {(!wrongNetwork && ( <> diff --git a/src/components/app/admin/testing/AdminTesting.tsx b/src/components/app/admin/testing/AdminTesting.tsx index 46d3dacd..e7e41236 100644 --- a/src/components/app/admin/testing/AdminTesting.tsx +++ b/src/components/app/admin/testing/AdminTesting.tsx @@ -97,7 +97,7 @@ export const AdminTesting: FC = () => {

- When Ledgity DeFi is deployed locally or on a testnet, fake stablecoins contracts are also + When Ledgity Yield is deployed locally or on a testnet, fake stablecoins contracts are also automatically deployed to mimic mainnets' ones.
Here are those for the current test network: @@ -108,7 +108,7 @@ export const AdminTesting: FC = () => {

- When Ledgity DeFi is deployed locally or on a testnet, a fake $LDY token contract is also + When Ledgity Yield is deployed locally or on a testnet, a fake $LDY token contract is also automatically deployed to mimic the mainnets one.
Here is the one for the current test network: diff --git a/src/components/app/staking/AppStakingExplanations.tsx b/src/components/app/staking/AppStakingExplanations.tsx index 347dc7c4..b98e218a 100644 --- a/src/components/app/staking/AppStakingExplanations.tsx +++ b/src/components/app/staking/AppStakingExplanations.tsx @@ -20,8 +20,8 @@ export const AppStakingExplanations: FC = ({ className }) => {

What is LDY token?

- The LDY token is the utility token of the whole Ledgity ecosystem. Ledgity DeFi allows wallets - to stake their LDY tokens against juicy advantages classified by tiers. + The LDY token is the utility token of the whole Ledgity ecosystem. Ledgity Yield allows + wallets to stake their LDY tokens against juicy advantages classified by tiers.

Staking tiers

diff --git a/src/components/ui/AllowanceTxButton.tsx b/src/components/ui/AllowanceTxButton.tsx index 73a870a9..c67cc0ac 100644 --- a/src/components/ui/AllowanceTxButton.tsx +++ b/src/components/ui/AllowanceTxButton.tsx @@ -51,7 +51,7 @@ export const AllowanceTxButton: FC = ({ return ( diff --git a/src/components/ui/Logo.tsx b/src/components/ui/Logo.tsx index 7ef26bc3..0b38828a 100644 --- a/src/components/ui/Logo.tsx +++ b/src/components/ui/Logo.tsx @@ -2,6 +2,8 @@ import Image from "next/image"; import Link from "next/link"; import logoLight from "~/assets/logo/logoLight.svg"; import logoDark from "~/assets/logo/logoDark.svg"; +import iconLight from "~/assets/logo/iconLight.svg"; +import iconDark from "~/assets/logo/iconDark.svg"; import { FC } from "react"; import { twMerge } from "tailwind-merge"; @@ -10,23 +12,21 @@ interface Props extends React.HTMLAttributes { noText?: boolean; } export const Logo: FC = ({ className, theme = "light", noText = false, ...props }) => { - const logo = theme === "light" ? logoLight : logoDark; + let logo: any; + if (noText) logo = theme === "light" ? iconLight : iconDark; + else logo = theme === "light" ? logoLight : logoDark; return ( - Ledgity Logo - {/*

- Ledgity - Yield -

*/} + Ledgity Yield Logo ); }; diff --git a/src/generated.ts b/src/generated.ts index 100d9637..ec92cf26 100644 --- a/src/generated.ts +++ b/src/generated.ts @@ -1,4 +1,4 @@ -// Generated by @wagmi/cli@1.3.0 on 8/7/2023 at 4:35:52 PM +// Generated by @wagmi/cli@1.3.0 on 8/8/2023 at 11:13:05 AM import { useContractRead, UseContractReadConfig, @@ -10,8 +10,8 @@ import { useContractEvent, UseContractEventConfig, useNetwork, -} from "wagmi"; -import { ReadContractResult, WriteContractMode, PrepareWriteContractResult } from "wagmi/actions"; +} from 'wagmi' +import { ReadContractResult, WriteContractMode, PrepareWriteContractResult } from 'wagmi/actions' import { getContract, @@ -27,7 +27,7 @@ import { watchContractEvent, WatchContractEventConfig, WatchContractEventCallback, -} from "wagmi/actions"; +} from 'wagmi/actions' ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // LDYStaking @@ -38,25 +38,25 @@ import { */ export const ldyStakingABI = [ { - stateMutability: "pure", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "tierOf", - outputs: [{ name: "tier", internalType: "uint256", type: "uint256" }], + stateMutability: 'pure', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'tierOf', + outputs: [{ name: 'tier', internalType: 'uint256', type: 'uint256' }], }, -] as const; +] as const /** * */ export const ldyStakingAddress = { - 31337: "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6", -} as const; + 31337: '0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6', +} as const /** * */ -export const ldyStakingConfig = { address: ldyStakingAddress, abi: ldyStakingABI } as const; +export const ldyStakingConfig = { address: ldyStakingAddress, abi: ldyStakingABI } as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // GlobalBlacklist @@ -66,125 +66,125 @@ export const ldyStakingConfig = { address: ldyStakingAddress, abi: ldyStakingABI * */ export const globalBlacklistABI = [ - { stateMutability: "nonpayable", type: "constructor", inputs: [] }, + { stateMutability: 'nonpayable', type: 'constructor', inputs: [] }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousAdmin", internalType: "address", type: "address", indexed: false }, - { name: "newAdmin", internalType: "address", type: "address", indexed: false }, + { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false }, + { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false }, ], - name: "AdminChanged", + name: 'AdminChanged', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "beacon", internalType: "address", type: "address", indexed: true }], - name: "BeaconUpgraded", + inputs: [{ name: 'beacon', internalType: 'address', type: 'address', indexed: true }], + name: 'BeaconUpgraded', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "version", internalType: "uint8", type: "uint8", indexed: false }], - name: "Initialized", + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousOwner", internalType: "address", type: "address", indexed: true }, - { name: "newOwner", internalType: "address", type: "address", indexed: true }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: "OwnershipTransferred", + name: 'OwnershipTransferred', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "implementation", internalType: "address", type: "address", indexed: true }], - name: "Upgraded", + inputs: [{ name: 'implementation', internalType: 'address', type: 'address', indexed: true }], + name: 'Upgraded', }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "blacklist", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'blacklist', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalOwner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalOwner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "globalOwner_", internalType: "address", type: "address" }], - name: "initialize", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'globalOwner_', internalType: 'address', type: 'address' }], + name: 'initialize', outputs: [], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "isBlacklisted", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'isBlacklisted', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "owner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "proxiableUUID", - outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + name: 'proxiableUUID', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, - { stateMutability: "view", type: "function", inputs: [], name: "renounceOwnership", outputs: [] }, + { stateMutability: 'view', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "newOwner", internalType: "address", type: "address" }], - name: "transferOwnership", + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "unBlacklist", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'unBlacklist', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "newImplementation", internalType: "address", type: "address" }], - name: "upgradeTo", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newImplementation', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "newImplementation", internalType: "address", type: "address" }, - { name: "data", internalType: "bytes", type: "bytes" }, + { name: 'newImplementation', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: "upgradeToAndCall", + name: 'upgradeToAndCall', outputs: [], }, -] as const; +] as const /** * */ export const globalBlacklistAddress = { - 31337: "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", -} as const; + 31337: '0x5FC8d32690cc91D4c39d9d3abcBD16989F875707', +} as const /** * @@ -192,7 +192,7 @@ export const globalBlacklistAddress = { export const globalBlacklistConfig = { address: globalBlacklistAddress, abi: globalBlacklistABI, -} as const; +} as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // GlobalOwner @@ -202,125 +202,125 @@ export const globalBlacklistConfig = { * */ export const globalOwnerABI = [ - { stateMutability: "nonpayable", type: "constructor", inputs: [] }, + { stateMutability: 'nonpayable', type: 'constructor', inputs: [] }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousAdmin", internalType: "address", type: "address", indexed: false }, - { name: "newAdmin", internalType: "address", type: "address", indexed: false }, + { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false }, + { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false }, ], - name: "AdminChanged", + name: 'AdminChanged', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "beacon", internalType: "address", type: "address", indexed: true }], - name: "BeaconUpgraded", + inputs: [{ name: 'beacon', internalType: 'address', type: 'address', indexed: true }], + name: 'BeaconUpgraded', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "version", internalType: "uint8", type: "uint8", indexed: false }], - name: "Initialized", + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousOwner", internalType: "address", type: "address", indexed: true }, - { name: "newOwner", internalType: "address", type: "address", indexed: true }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: "OwnershipTransferStarted", + name: 'OwnershipTransferStarted', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousOwner", internalType: "address", type: "address", indexed: true }, - { name: "newOwner", internalType: "address", type: "address", indexed: true }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: "OwnershipTransferred", + name: 'OwnershipTransferred', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "implementation", internalType: "address", type: "address", indexed: true }], - name: "Upgraded", + inputs: [{ name: 'implementation', internalType: 'address', type: 'address', indexed: true }], + name: 'Upgraded', }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [], - name: "acceptOwnership", + name: 'acceptOwnership', outputs: [], }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "initialize", outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'initialize', outputs: [] }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "owner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "pendingOwner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'pendingOwner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "proxiableUUID", - outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + name: 'proxiableUUID', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [], - name: "renounceOwnership", + name: 'renounceOwnership', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "newOwner", internalType: "address", type: "address" }], - name: "transferOwnership", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "newImplementation", internalType: "address", type: "address" }], - name: "upgradeTo", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newImplementation', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "newImplementation", internalType: "address", type: "address" }, - { name: "data", internalType: "bytes", type: "bytes" }, + { name: 'newImplementation', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: "upgradeToAndCall", + name: 'upgradeToAndCall', outputs: [], }, -] as const; +] as const /** * */ export const globalOwnerAddress = { - 31337: "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", -} as const; + 31337: '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512', +} as const /** * */ -export const globalOwnerConfig = { address: globalOwnerAddress, abi: globalOwnerABI } as const; +export const globalOwnerConfig = { address: globalOwnerAddress, abi: globalOwnerABI } as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // GlobalPause @@ -330,130 +330,130 @@ export const globalOwnerConfig = { address: globalOwnerAddress, abi: globalOwner * */ export const globalPauseABI = [ - { stateMutability: "nonpayable", type: "constructor", inputs: [] }, + { stateMutability: 'nonpayable', type: 'constructor', inputs: [] }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousAdmin", internalType: "address", type: "address", indexed: false }, - { name: "newAdmin", internalType: "address", type: "address", indexed: false }, + { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false }, + { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false }, ], - name: "AdminChanged", + name: 'AdminChanged', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "beacon", internalType: "address", type: "address", indexed: true }], - name: "BeaconUpgraded", + inputs: [{ name: 'beacon', internalType: 'address', type: 'address', indexed: true }], + name: 'BeaconUpgraded', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "version", internalType: "uint8", type: "uint8", indexed: false }], - name: "Initialized", + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousOwner", internalType: "address", type: "address", indexed: true }, - { name: "newOwner", internalType: "address", type: "address", indexed: true }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: "OwnershipTransferred", + name: 'OwnershipTransferred', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "account", internalType: "address", type: "address", indexed: false }], - name: "Paused", + inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], + name: 'Paused', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "account", internalType: "address", type: "address", indexed: false }], - name: "Unpaused", + inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], + name: 'Unpaused', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "implementation", internalType: "address", type: "address", indexed: true }], - name: "Upgraded", + inputs: [{ name: 'implementation', internalType: 'address', type: 'address', indexed: true }], + name: 'Upgraded', }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalOwner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalOwner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "globalOwner_", internalType: "address", type: "address" }], - name: "initialize", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'globalOwner_', internalType: 'address', type: 'address' }], + name: 'initialize', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "owner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "pause", outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'pause', outputs: [] }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "paused", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'paused', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "proxiableUUID", - outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + name: 'proxiableUUID', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, - { stateMutability: "view", type: "function", inputs: [], name: "renounceOwnership", outputs: [] }, + { stateMutability: 'view', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "newOwner", internalType: "address", type: "address" }], - name: "transferOwnership", + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', outputs: [], }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "unpause", outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'unpause', outputs: [] }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "newImplementation", internalType: "address", type: "address" }], - name: "upgradeTo", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newImplementation', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "newImplementation", internalType: "address", type: "address" }, - { name: "data", internalType: "bytes", type: "bytes" }, + { name: 'newImplementation', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: "upgradeToAndCall", + name: 'upgradeToAndCall', outputs: [], }, -] as const; +] as const /** * */ export const globalPauseAddress = { - 31337: "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", -} as const; + 31337: '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9', +} as const /** * */ -export const globalPauseConfig = { address: globalPauseAddress, abi: globalPauseABI } as const; +export const globalPauseConfig = { address: globalPauseAddress, abi: globalPauseABI } as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // LToken @@ -461,617 +461,617 @@ export const globalPauseConfig = { address: globalPauseAddress, abi: globalPause export const lTokenABI = [ { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "newAPRUD7x3", internalType: "uint16", type: "uint16", indexed: false }], - name: "APRChangeEvent", + inputs: [{ name: 'newAPRUD7x3', internalType: 'uint16', type: 'uint16', indexed: false }], + name: 'APRChangeEvent', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "id", internalType: "int256", type: "int256", indexed: true }, - { name: "account", internalType: "address", type: "address", indexed: true }, - { name: "action", internalType: "enum LToken.Action", type: "uint8", indexed: true }, - { name: "amount", internalType: "uint256", type: "uint256", indexed: false }, - { name: "amountAfterFees", internalType: "uint256", type: "uint256", indexed: false }, - { name: "newStatus", internalType: "enum LToken.Status", type: "uint8", indexed: false }, + { name: 'id', internalType: 'int256', type: 'int256', indexed: true }, + { name: 'account', internalType: 'address', type: 'address', indexed: true }, + { name: 'action', internalType: 'enum LToken.Action', type: 'uint8', indexed: true }, + { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'amountAfterFees', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'newStatus', internalType: 'enum LToken.Status', type: 'uint8', indexed: false }, ], - name: "ActivityEvent", + name: 'ActivityEvent', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousAdmin", internalType: "address", type: "address", indexed: false }, - { name: "newAdmin", internalType: "address", type: "address", indexed: false }, + { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false }, + { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false }, ], - name: "AdminChanged", + name: 'AdminChanged', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "owner", internalType: "address", type: "address", indexed: true }, - { name: "spender", internalType: "address", type: "address", indexed: true }, - { name: "value", internalType: "uint256", type: "uint256", indexed: false }, + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'spender', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: "Approval", + name: 'Approval', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "beacon", internalType: "address", type: "address", indexed: true }], - name: "BeaconUpgraded", + inputs: [{ name: 'beacon', internalType: 'address', type: 'address', indexed: true }], + name: 'BeaconUpgraded', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "version", internalType: "uint8", type: "uint8", indexed: false }], - name: "Initialized", + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "account", internalType: "address", type: "address", indexed: true }, - { name: "balanceBefore", internalType: "uint256", type: "uint256", indexed: false }, - { name: "rewards", internalType: "uint256", type: "uint256", indexed: false }, + { name: 'account', internalType: 'address', type: 'address', indexed: true }, + { name: 'balanceBefore', internalType: 'uint256', type: 'uint256', indexed: false }, + { name: 'rewards', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: "MintedRewardsEvent", + name: 'MintedRewardsEvent', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousOwner", internalType: "address", type: "address", indexed: true }, - { name: "newOwner", internalType: "address", type: "address", indexed: true }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: "OwnershipTransferred", + name: 'OwnershipTransferred', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "account", internalType: "address", type: "address", indexed: false }], - name: "Paused", + inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], + name: 'Paused', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "newTVL", internalType: "uint256", type: "uint256", indexed: false }], - name: "TVLChangeEvent", + inputs: [{ name: 'newTVL', internalType: 'uint256', type: 'uint256', indexed: false }], + name: 'TVLChangeEvent', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "from", internalType: "address", type: "address", indexed: true }, - { name: "to", internalType: "address", type: "address", indexed: true }, - { name: "value", internalType: "uint256", type: "uint256", indexed: false }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: "Transfer", + name: 'Transfer', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "account", internalType: "address", type: "address", indexed: false }], - name: "Unpaused", + inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], + name: 'Unpaused', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "implementation", internalType: "address", type: "address", indexed: true }], - name: "Upgraded", + inputs: [{ name: 'implementation', internalType: 'address', type: 'address', indexed: true }], + name: 'Upgraded', }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [ - { name: "owner", internalType: "address", type: "address" }, - { name: "spender", internalType: "address", type: "address" }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, ], - name: "allowance", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "spender", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "approve", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "balanceOf", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [], - name: "processQueuedRequests", - outputs: [], - }, - { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "requestId", internalType: "uint256", type: "uint256" }], - name: "processBigQueuedRequest", - outputs: [], - }, - { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "requestId", internalType: "uint256", type: "uint256" }], - name: "cancelWithdrawalRequest", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'requestId', internalType: 'uint256', type: 'uint256' }], + name: 'cancelWithdrawalRequest', outputs: [], }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "claimFees", outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'claimFees', outputs: [] }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "decimals", - outputs: [{ name: "", internalType: "uint8", type: "uint8" }], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "spender", internalType: "address", type: "address" }, - { name: "subtractedValue", internalType: "uint256", type: "uint256" }, + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, ], - name: "decreaseAllowance", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'decreaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], - name: "deposit", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'deposit', outputs: [], }, { - stateMutability: "pure", - type: "function", + stateMutability: 'pure', + type: 'function', inputs: [ - { name: "account", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "depositFor", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'depositFor', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "feesRateUD7x3", - outputs: [{ name: "", internalType: "uint32", type: "uint32" }], + name: 'feesRateUD7x3', + outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "", internalType: "uint256", type: "uint256" }], - name: "frozenRequests", + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'frozenRequests', outputs: [ - { name: "account", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint96", type: "uint96" }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint96', type: 'uint96' }, ], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "fund", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'fund', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getAPR", - outputs: [{ name: "", internalType: "uint16", type: "uint16" }], + name: 'getAPR', + outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getExpectedRetained", - outputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], + name: 'getExpectedRetained', + outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [ - { name: "account", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "getWithdrawnAmountAndFees", + name: 'getWithdrawnAmountAndFees', outputs: [ - { name: "withdrawnAmount", internalType: "uint256", type: "uint256" }, - { name: "fees", internalType: "uint256", type: "uint256" }, + { name: 'withdrawnAmount', internalType: 'uint256', type: 'uint256' }, + { name: 'fees', internalType: 'uint256', type: 'uint256' }, ], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalBlacklist", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalBlacklist', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalOwner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalOwner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalPause", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalPause', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "spender", internalType: "address", type: "address" }, - { name: "addedValue", internalType: "uint256", type: "uint256" }, + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, ], - name: "increaseAllowance", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'increaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "globalOwner_", internalType: "address", type: "address" }, - { name: "globalPause_", internalType: "address", type: "address" }, - { name: "globalBlacklist_", internalType: "address", type: "address" }, - { name: "ldyStaking_", internalType: "address", type: "address" }, - { name: "underlyingToken", internalType: "address", type: "address" }, + { name: 'globalOwner_', internalType: 'address', type: 'address' }, + { name: 'globalPause_', internalType: 'address', type: 'address' }, + { name: 'globalBlacklist_', internalType: 'address', type: 'address' }, + { name: 'ldyStaking_', internalType: 'address', type: 'address' }, + { name: 'underlyingToken', internalType: 'address', type: 'address' }, ], - name: "initialize", + name: 'initialize', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], - name: "instantWithdrawal", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'instantWithdrawal', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "invested", - outputs: [{ name: "", internalType: "contract IERC20Upgradeable", type: "address" }], + name: 'invested', + outputs: [{ name: '', internalType: 'contract IERC20Upgradeable', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "ldyStaking", - outputs: [{ name: "", internalType: "contract LDYStaking", type: "address" }], + name: 'ldyStaking', + outputs: [{ name: '', internalType: 'contract LDYStaking', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "listenerContract", internalType: "address", type: "address" }], - name: "listenToTransfers", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'listenerContract', internalType: 'address', type: 'address' }], + name: 'listenToTransfers', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "name", - outputs: [{ name: "", internalType: "string", type: "string" }], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "owner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "paused", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'paused', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'requestId', internalType: 'uint256', type: 'uint256' }], + name: 'processBigQueuedRequest', + outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [], - name: "proxiableUUID", - outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + name: 'processQueuedRequests', + outputs: [], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "realBalanceOf", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'proxiableUUID', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'realBalanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', inputs: [], - name: "realTotalSupply", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'realTotalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "tokenAddress", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'tokenAddress', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "recoverERC20", + name: 'recoverERC20', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [], - name: "recoverUnderlying", + name: 'recoverUnderlying', outputs: [], }, - { stateMutability: "view", type: "function", inputs: [], name: "renounceOwnership", outputs: [] }, + { stateMutability: 'view', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], - name: "repatriate", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'repatriate', outputs: [], }, { - stateMutability: "payable", - type: "function", - inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], - name: "requestWithdrawal", + stateMutability: 'payable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'requestWithdrawal', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "retentionRateUD7x3", - outputs: [{ name: "", internalType: "uint32", type: "uint32" }], + name: 'retentionRateUD7x3', + outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "", internalType: "address", type: "address" }], - name: "rewardsRedirectsFromTo", - outputs: [{ name: "", internalType: "address", type: "address" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'rewardsRedirectsFromTo', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [ - { name: "", internalType: "address", type: "address" }, - { name: "", internalType: "uint256", type: "uint256" }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, ], - name: "rewardsRedirectsToFrom", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'rewardsRedirectsToFrom', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "aprUD7x3", internalType: "uint16", type: "uint16" }], - name: "setAPR", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'aprUD7x3', internalType: 'uint16', type: 'uint16' }], + name: 'setAPR', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "feesRateUD7x3_", internalType: "uint32", type: "uint32" }], - name: "setFeesRate", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'feesRateUD7x3_', internalType: 'uint32', type: 'uint32' }], + name: 'setFeesRate', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "fund_", internalType: "address payable", type: "address" }], - name: "setFund", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'fund_', internalType: 'address payable', type: 'address' }], + name: 'setFund', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "ldyStakingAddress", internalType: "address", type: "address" }], - name: "setLDYStaking", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'ldyStakingAddress', internalType: 'address', type: 'address' }], + name: 'setLDYStaking', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "retentionRateUD7x3_", internalType: "uint32", type: "uint32" }], - name: "setRetentionRate", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'retentionRateUD7x3_', internalType: 'uint32', type: 'uint32' }], + name: 'setRetentionRate', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "withdrawer_", internalType: "address payable", type: "address" }], - name: "setWithdrawer", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'withdrawer_', internalType: 'address payable', type: 'address' }], + name: 'setWithdrawer', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "from", internalType: "address", type: "address" }, - { name: "to", internalType: "address", type: "address" }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, ], - name: "startRewardsRedirection", + name: 'startRewardsRedirection', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "from", internalType: "address", type: "address" }, - { name: "to", internalType: "address", type: "address" }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, ], - name: "stopRewardsRedirection", + name: 'stopRewardsRedirection', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "symbol", - outputs: [{ name: "", internalType: "string", type: "string" }], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "totalQueued", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'totalQueued', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "totalSupply", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "to", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "transfer", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "from", internalType: "address", type: "address" }, - { name: "to", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "transferFrom", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "newOwner", internalType: "address", type: "address" }], - name: "transferOwnership", + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', outputs: [], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "", internalType: "uint256", type: "uint256" }], - name: "transfersListeners", - outputs: [{ name: "", internalType: "contract ITransfersListener", type: "address" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'transfersListeners', + outputs: [{ name: '', internalType: 'contract ITransfersListener', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "unclaimedFees", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'unclaimedFees', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "underlying", - outputs: [{ name: "", internalType: "contract IERC20Upgradeable", type: "address" }], + name: 'underlying', + outputs: [{ name: '', internalType: 'contract IERC20Upgradeable', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "listenerContract", internalType: "address", type: "address" }], - name: "unlistenToTransfers", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'listenerContract', internalType: 'address', type: 'address' }], + name: 'unlistenToTransfers', outputs: [], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "unmintedRewardsOf", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'unmintedRewardsOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "newImplementation", internalType: "address", type: "address" }], - name: "upgradeTo", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newImplementation', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "newImplementation", internalType: "address", type: "address" }, - { name: "data", internalType: "bytes", type: "bytes" }, + { name: 'newImplementation', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: "upgradeToAndCall", + name: 'upgradeToAndCall', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "usableUnderlyings", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'usableUnderlyings', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "pure", - type: "function", + stateMutability: 'pure', + type: 'function', inputs: [ - { name: "account", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "withdrawTo", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'withdrawTo', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "", internalType: "uint256", type: "uint256" }], - name: "withdrawalQueue", + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'withdrawalQueue', outputs: [ - { name: "account", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint96", type: "uint96" }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint96', type: 'uint96' }, ], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "withdrawalQueueCursor", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'withdrawalQueueCursor', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "withdrawer", - outputs: [{ name: "", internalType: "address payable", type: "address" }], + name: 'withdrawer', + outputs: [{ name: '', internalType: 'address payable', type: 'address' }], }, -] as const; +] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // LTokenSignaler @@ -1081,117 +1081,117 @@ export const lTokenABI = [ * */ export const lTokenSignalerABI = [ - { stateMutability: "nonpayable", type: "constructor", inputs: [] }, + { stateMutability: 'nonpayable', type: 'constructor', inputs: [] }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousAdmin", internalType: "address", type: "address", indexed: false }, - { name: "newAdmin", internalType: "address", type: "address", indexed: false }, + { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false }, + { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false }, ], - name: "AdminChanged", + name: 'AdminChanged', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "beacon", internalType: "address", type: "address", indexed: true }], - name: "BeaconUpgraded", + inputs: [{ name: 'beacon', internalType: 'address', type: 'address', indexed: true }], + name: 'BeaconUpgraded', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "version", internalType: "uint8", type: "uint8", indexed: false }], - name: "Initialized", + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "lTokenAddress", internalType: "address", type: "address", indexed: true }], - name: "LTokenSignalEvent", + inputs: [{ name: 'lTokenAddress', internalType: 'address', type: 'address', indexed: true }], + name: 'LTokenSignalEvent', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousOwner", internalType: "address", type: "address", indexed: true }, - { name: "newOwner", internalType: "address", type: "address", indexed: true }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: "OwnershipTransferred", + name: 'OwnershipTransferred', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "implementation", internalType: "address", type: "address", indexed: true }], - name: "Upgraded", + inputs: [{ name: 'implementation', internalType: 'address', type: 'address', indexed: true }], + name: 'Upgraded', }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalOwner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalOwner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "globalOwner_", internalType: "address", type: "address" }], - name: "initialize", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'globalOwner_', internalType: 'address', type: 'address' }], + name: 'initialize', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "owner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "proxiableUUID", - outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + name: 'proxiableUUID', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, - { stateMutability: "view", type: "function", inputs: [], name: "renounceOwnership", outputs: [] }, + { stateMutability: 'view', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "lTokenAddress", internalType: "address", type: "address" }], - name: "signalLToken", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'lTokenAddress', internalType: 'address', type: 'address' }], + name: 'signalLToken', outputs: [], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "newOwner", internalType: "address", type: "address" }], - name: "transferOwnership", + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "newImplementation", internalType: "address", type: "address" }], - name: "upgradeTo", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newImplementation', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "newImplementation", internalType: "address", type: "address" }, - { name: "data", internalType: "bytes", type: "bytes" }, + { name: 'newImplementation', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: "upgradeToAndCall", + name: 'upgradeToAndCall', outputs: [], }, -] as const; +] as const /** * */ export const lTokenSignalerAddress = { - 31337: "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", -} as const; + 31337: '0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82', +} as const /** * @@ -1199,7 +1199,7 @@ export const lTokenSignalerAddress = { export const lTokenSignalerConfig = { address: lTokenSignalerAddress, abi: lTokenSignalerABI, -} as const; +} as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // GenericERC20 @@ -1207,162 +1207,162 @@ export const lTokenSignalerConfig = { export const genericErc20ABI = [ { - stateMutability: "nonpayable", - type: "constructor", + stateMutability: 'nonpayable', + type: 'constructor', inputs: [ - { name: "name", internalType: "string", type: "string" }, - { name: "symbol", internalType: "string", type: "string" }, - { name: "decimals_", internalType: "uint8", type: "uint8" }, + { name: 'name', internalType: 'string', type: 'string' }, + { name: 'symbol', internalType: 'string', type: 'string' }, + { name: 'decimals_', internalType: 'uint8', type: 'uint8' }, ], }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "owner", internalType: "address", type: "address", indexed: true }, - { name: "spender", internalType: "address", type: "address", indexed: true }, - { name: "value", internalType: "uint256", type: "uint256", indexed: false }, + { name: 'owner', internalType: 'address', type: 'address', indexed: true }, + { name: 'spender', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: "Approval", + name: 'Approval', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "from", internalType: "address", type: "address", indexed: true }, - { name: "to", internalType: "address", type: "address", indexed: true }, - { name: "value", internalType: "uint256", type: "uint256", indexed: false }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: "Transfer", + name: 'Transfer', }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [ - { name: "owner", internalType: "address", type: "address" }, - { name: "spender", internalType: "address", type: "address" }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, ], - name: "allowance", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "spender", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "approve", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "balanceOf", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], - name: "burn", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'burn', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "account", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "burnFrom", + name: 'burnFrom', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "decimals", - outputs: [{ name: "", internalType: "uint8", type: "uint8" }], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "spender", internalType: "address", type: "address" }, - { name: "subtractedValue", internalType: "uint256", type: "uint256" }, + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'subtractedValue', internalType: 'uint256', type: 'uint256' }, ], - name: "decreaseAllowance", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'decreaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "spender", internalType: "address", type: "address" }, - { name: "addedValue", internalType: "uint256", type: "uint256" }, + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'addedValue', internalType: 'uint256', type: 'uint256' }, ], - name: "increaseAllowance", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'increaseAllowance', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], - name: "mint", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'mint', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "name", - outputs: [{ name: "", internalType: "string", type: "string" }], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "decimals_", internalType: "uint8", type: "uint8" }], - name: "setDecimals", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'decimals_', internalType: 'uint8', type: 'uint8' }], + name: 'setDecimals', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "symbol", - outputs: [{ name: "", internalType: "string", type: "string" }], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "totalSupply", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "to", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "transfer", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "from", internalType: "address", type: "address" }, - { name: "to", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "transferFrom", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, -] as const; +] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // WIP_LDYStaking @@ -1370,335 +1370,335 @@ export const genericErc20ABI = [ export const wipLdyStakingABI = [ { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "newAPRUD7x3", internalType: "uint16", type: "uint16", indexed: false }], - name: "APRChangeEvent", + inputs: [{ name: 'newAPRUD7x3', internalType: 'uint16', type: 'uint16', indexed: false }], + name: 'APRChangeEvent', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousAdmin", internalType: "address", type: "address", indexed: false }, - { name: "newAdmin", internalType: "address", type: "address", indexed: false }, + { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false }, + { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false }, ], - name: "AdminChanged", + name: 'AdminChanged', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "beacon", internalType: "address", type: "address", indexed: true }], - name: "BeaconUpgraded", + inputs: [{ name: 'beacon', internalType: 'address', type: 'address', indexed: true }], + name: 'BeaconUpgraded', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "version", internalType: "uint8", type: "uint8", indexed: false }], - name: "Initialized", + inputs: [{ name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }], + name: 'Initialized', }, { - type: "event", + type: 'event', anonymous: false, inputs: [ - { name: "previousOwner", internalType: "address", type: "address", indexed: true }, - { name: "newOwner", internalType: "address", type: "address", indexed: true }, + { name: 'previousOwner', internalType: 'address', type: 'address', indexed: true }, + { name: 'newOwner', internalType: 'address', type: 'address', indexed: true }, ], - name: "OwnershipTransferred", + name: 'OwnershipTransferred', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "account", internalType: "address", type: "address", indexed: false }], - name: "Paused", + inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], + name: 'Paused', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "newTotalStaked", internalType: "uint256", type: "uint256", indexed: false }], - name: "TotalStakedUpdateEvent", + inputs: [{ name: 'newTotalStaked', internalType: 'uint256', type: 'uint256', indexed: false }], + name: 'TotalStakedUpdateEvent', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "account", internalType: "address", type: "address", indexed: false }], - name: "Unpaused", + inputs: [{ name: 'account', internalType: 'address', type: 'address', indexed: false }], + name: 'Unpaused', }, { - type: "event", + type: 'event', anonymous: false, - inputs: [{ name: "implementation", internalType: "address", type: "address", indexed: true }], - name: "Upgraded", + inputs: [{ name: 'implementation', internalType: 'address', type: 'address', indexed: true }], + name: 'Upgraded', }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "claim", outputs: [] }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "compound", outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'claim', outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'compound', outputs: [] }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], - name: "fuel", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'fuel', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getAPR", - outputs: [{ name: "", internalType: "uint16", type: "uint16" }], + name: 'getAPR', + outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [ - { name: "account", internalType: "address", type: "address" }, - { name: "addedAmount", internalType: "uint216", type: "uint216" }, + { name: 'account', internalType: 'address', type: 'address' }, + { name: 'addedAmount', internalType: 'uint216', type: 'uint216' }, ], - name: "getNewLockEndFor", - outputs: [{ name: "", internalType: "uint40", type: "uint40" }], + name: 'getNewLockEndFor', + outputs: [{ name: '', internalType: 'uint40', type: 'uint40' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "tier", internalType: "uint256", type: "uint256" }], - name: "getTier", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tier', internalType: 'uint256', type: 'uint256' }], + name: 'getTier', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalBlacklist", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalBlacklist', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalOwner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalOwner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "globalPause", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'globalPause', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "globalOwner_", internalType: "address", type: "address" }, - { name: "globalPause_", internalType: "address", type: "address" }, - { name: "globalBlacklist_", internalType: "address", type: "address" }, - { name: "ldyTokenAddress", internalType: "address", type: "address" }, + { name: 'globalOwner_', internalType: 'address', type: 'address' }, + { name: 'globalPause_', internalType: 'address', type: 'address' }, + { name: 'globalBlacklist_', internalType: 'address', type: 'address' }, + { name: 'ldyTokenAddress', internalType: 'address', type: 'address' }, ], - name: "initialize", + name: 'initialize', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "invested", - outputs: [{ name: "", internalType: "contract IERC20Upgradeable", type: "address" }], + name: 'invested', + outputs: [{ name: '', internalType: 'contract IERC20Upgradeable', type: 'address' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "lockEndOf", - outputs: [{ name: "", internalType: "uint40", type: "uint40" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'lockEndOf', + outputs: [{ name: '', internalType: 'uint40', type: 'uint40' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "owner", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "paused", - outputs: [{ name: "", internalType: "bool", type: "bool" }], + name: 'paused', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "proxiableUUID", - outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + name: 'proxiableUUID', + outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "tokenAddress", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'tokenAddress', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "recoverERC20", + name: 'recoverERC20', outputs: [], }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "recoverLDY", outputs: [] }, - { stateMutability: "view", type: "function", inputs: [], name: "renounceOwnership", outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'recoverLDY', outputs: [] }, + { stateMutability: 'view', type: 'function', inputs: [], name: 'renounceOwnership', outputs: [] }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "rewardsOf", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'rewardsOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "", internalType: "address", type: "address" }], - name: "rewardsRedirectsFromTo", - outputs: [{ name: "", internalType: "address", type: "address" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'rewardsRedirectsFromTo', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [ - { name: "", internalType: "address", type: "address" }, - { name: "", internalType: "uint256", type: "uint256" }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'uint256', type: 'uint256' }, ], - name: "rewardsRedirectsToFrom", - outputs: [{ name: "", internalType: "address", type: "address" }], + name: 'rewardsRedirectsToFrom', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "rewardsReserve", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'rewardsReserve', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "aprUD7x3", internalType: "uint16", type: "uint16" }], - name: "setAPR", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'aprUD7x3', internalType: 'uint16', type: 'uint16' }], + name: 'setAPR', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "stakeLockDuration_", internalType: "uint40", type: "uint40" }], - name: "setStakeLockDuration", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'stakeLockDuration_', internalType: 'uint40', type: 'uint40' }], + name: 'setStakeLockDuration', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "tier", internalType: "uint256", type: "uint256" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'tier', internalType: 'uint256', type: 'uint256' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "setTier", + name: 'setTier', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "unlockFeesRateUD7x3_", internalType: "uint32", type: "uint32" }], - name: "setUnlockFeesRate", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'unlockFeesRateUD7x3_', internalType: 'uint32', type: 'uint32' }], + name: 'setUnlockFeesRate', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint216", type: "uint216" }], - name: "stake", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint216', type: 'uint216' }], + name: 'stake', outputs: [], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "stakeLockDuration", - outputs: [{ name: "", internalType: "uint40", type: "uint40" }], + name: 'stakeLockDuration', + outputs: [{ name: '', internalType: 'uint40', type: 'uint40' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "stakeOf", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'stakeOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "from", internalType: "address", type: "address" }, - { name: "to", internalType: "address", type: "address" }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, ], - name: "startRewardsRedirection", + name: 'startRewardsRedirection', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "from", internalType: "address", type: "address" }, - { name: "to", internalType: "address", type: "address" }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, ], - name: "stopRewardsRedirection", + name: 'stopRewardsRedirection', outputs: [], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "account", internalType: "address", type: "address" }], - name: "tierOf", - outputs: [{ name: "tier", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'tierOf', + outputs: [{ name: 'tier', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "totalStaked", - outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + name: 'totalStaked', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "newOwner", internalType: "address", type: "address" }], - name: "transferOwnership", + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', outputs: [], }, - { stateMutability: "nonpayable", type: "function", inputs: [], name: "unlock", outputs: [] }, + { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'unlock', outputs: [] }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "unlockFeesRateUD7x3", - outputs: [{ name: "", internalType: "uint32", type: "uint32" }], + name: 'unlockFeesRateUD7x3', + outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "amount", internalType: "uint216", type: "uint216" }], - name: "unstake", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint216', type: 'uint216' }], + name: 'unstake', outputs: [], }, { - stateMutability: "nonpayable", - type: "function", - inputs: [{ name: "newImplementation", internalType: "address", type: "address" }], - name: "upgradeTo", + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'newImplementation', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "newImplementation", internalType: "address", type: "address" }, - { name: "data", internalType: "bytes", type: "bytes" }, + { name: 'newImplementation', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: "upgradeToAndCall", + name: 'upgradeToAndCall', outputs: [], }, -] as const; +] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Multicall3 @@ -1712,240 +1712,240 @@ export const wipLdyStakingABI = [ */ export const multicall3ABI = [ { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ { - name: "calls", - internalType: "struct Multicall3.Call[]", - type: "tuple[]", + name: 'calls', + internalType: 'struct Multicall3.Call[]', + type: 'tuple[]', components: [ - { name: "target", internalType: "address", type: "address" }, - { name: "callData", internalType: "bytes", type: "bytes" }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, ], }, ], - name: "aggregate", + name: 'aggregate', outputs: [ - { name: "blockNumber", internalType: "uint256", type: "uint256" }, - { name: "returnData", internalType: "bytes[]", type: "bytes[]" }, + { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, + { name: 'returnData', internalType: 'bytes[]', type: 'bytes[]' }, ], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ { - name: "calls", - internalType: "struct Multicall3.Call3[]", - type: "tuple[]", + name: 'calls', + internalType: 'struct Multicall3.Call3[]', + type: 'tuple[]', components: [ - { name: "target", internalType: "address", type: "address" }, - { name: "allowFailure", internalType: "bool", type: "bool" }, - { name: "callData", internalType: "bytes", type: "bytes" }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'allowFailure', internalType: 'bool', type: 'bool' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, ], }, ], - name: "aggregate3", + name: 'aggregate3', outputs: [ { - name: "returnData", - internalType: "struct Multicall3.Result[]", - type: "tuple[]", + name: 'returnData', + internalType: 'struct Multicall3.Result[]', + type: 'tuple[]', components: [ - { name: "success", internalType: "bool", type: "bool" }, - { name: "returnData", internalType: "bytes", type: "bytes" }, + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, ], }, ], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ { - name: "calls", - internalType: "struct Multicall3.Call3Value[]", - type: "tuple[]", + name: 'calls', + internalType: 'struct Multicall3.Call3Value[]', + type: 'tuple[]', components: [ - { name: "target", internalType: "address", type: "address" }, - { name: "allowFailure", internalType: "bool", type: "bool" }, - { name: "value", internalType: "uint256", type: "uint256" }, - { name: "callData", internalType: "bytes", type: "bytes" }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'allowFailure', internalType: 'bool', type: 'bool' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, ], }, ], - name: "aggregate3Value", + name: 'aggregate3Value', outputs: [ { - name: "returnData", - internalType: "struct Multicall3.Result[]", - type: "tuple[]", + name: 'returnData', + internalType: 'struct Multicall3.Result[]', + type: 'tuple[]', components: [ - { name: "success", internalType: "bool", type: "bool" }, - { name: "returnData", internalType: "bytes", type: "bytes" }, + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, ], }, ], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ { - name: "calls", - internalType: "struct Multicall3.Call[]", - type: "tuple[]", + name: 'calls', + internalType: 'struct Multicall3.Call[]', + type: 'tuple[]', components: [ - { name: "target", internalType: "address", type: "address" }, - { name: "callData", internalType: "bytes", type: "bytes" }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, ], }, ], - name: "blockAndAggregate", + name: 'blockAndAggregate', outputs: [ - { name: "blockNumber", internalType: "uint256", type: "uint256" }, - { name: "blockHash", internalType: "bytes32", type: "bytes32" }, + { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, + { name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }, { - name: "returnData", - internalType: "struct Multicall3.Result[]", - type: "tuple[]", + name: 'returnData', + internalType: 'struct Multicall3.Result[]', + type: 'tuple[]', components: [ - { name: "success", internalType: "bool", type: "bool" }, - { name: "returnData", internalType: "bytes", type: "bytes" }, + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, ], }, ], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getBasefee", - outputs: [{ name: "basefee", internalType: "uint256", type: "uint256" }], + name: 'getBasefee', + outputs: [{ name: 'basefee', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "blockNumber", internalType: "uint256", type: "uint256" }], - name: "getBlockHash", - outputs: [{ name: "blockHash", internalType: "bytes32", type: "bytes32" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'blockNumber', internalType: 'uint256', type: 'uint256' }], + name: 'getBlockHash', + outputs: [{ name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getBlockNumber", - outputs: [{ name: "blockNumber", internalType: "uint256", type: "uint256" }], + name: 'getBlockNumber', + outputs: [{ name: 'blockNumber', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getChainId", - outputs: [{ name: "chainid", internalType: "uint256", type: "uint256" }], + name: 'getChainId', + outputs: [{ name: 'chainid', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getCurrentBlockCoinbase", - outputs: [{ name: "coinbase", internalType: "address", type: "address" }], + name: 'getCurrentBlockCoinbase', + outputs: [{ name: 'coinbase', internalType: 'address', type: 'address' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getCurrentBlockDifficulty", - outputs: [{ name: "difficulty", internalType: "uint256", type: "uint256" }], + name: 'getCurrentBlockDifficulty', + outputs: [{ name: 'difficulty', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getCurrentBlockGasLimit", - outputs: [{ name: "gaslimit", internalType: "uint256", type: "uint256" }], + name: 'getCurrentBlockGasLimit', + outputs: [{ name: 'gaslimit', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getCurrentBlockTimestamp", - outputs: [{ name: "timestamp", internalType: "uint256", type: "uint256" }], + name: 'getCurrentBlockTimestamp', + outputs: [{ name: 'timestamp', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", - inputs: [{ name: "addr", internalType: "address", type: "address" }], - name: "getEthBalance", - outputs: [{ name: "balance", internalType: "uint256", type: "uint256" }], + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'addr', internalType: 'address', type: 'address' }], + name: 'getEthBalance', + outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', inputs: [], - name: "getLastBlockHash", - outputs: [{ name: "blockHash", internalType: "bytes32", type: "bytes32" }], + name: 'getLastBlockHash', + outputs: [{ name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "requireSuccess", internalType: "bool", type: "bool" }, + { name: 'requireSuccess', internalType: 'bool', type: 'bool' }, { - name: "calls", - internalType: "struct Multicall3.Call[]", - type: "tuple[]", + name: 'calls', + internalType: 'struct Multicall3.Call[]', + type: 'tuple[]', components: [ - { name: "target", internalType: "address", type: "address" }, - { name: "callData", internalType: "bytes", type: "bytes" }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, ], }, ], - name: "tryAggregate", + name: 'tryAggregate', outputs: [ { - name: "returnData", - internalType: "struct Multicall3.Result[]", - type: "tuple[]", + name: 'returnData', + internalType: 'struct Multicall3.Result[]', + type: 'tuple[]', components: [ - { name: "success", internalType: "bool", type: "bool" }, - { name: "returnData", internalType: "bytes", type: "bytes" }, + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, ], }, ], }, { - stateMutability: "payable", - type: "function", + stateMutability: 'payable', + type: 'function', inputs: [ - { name: "requireSuccess", internalType: "bool", type: "bool" }, + { name: 'requireSuccess', internalType: 'bool', type: 'bool' }, { - name: "calls", - internalType: "struct Multicall3.Call[]", - type: "tuple[]", + name: 'calls', + internalType: 'struct Multicall3.Call[]', + type: 'tuple[]', components: [ - { name: "target", internalType: "address", type: "address" }, - { name: "callData", internalType: "bytes", type: "bytes" }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, ], }, ], - name: "tryBlockAndAggregate", + name: 'tryBlockAndAggregate', outputs: [ - { name: "blockNumber", internalType: "uint256", type: "uint256" }, - { name: "blockHash", internalType: "bytes32", type: "bytes32" }, + { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, + { name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }, { - name: "returnData", - internalType: "struct Multicall3.Result[]", - type: "tuple[]", + name: 'returnData', + internalType: 'struct Multicall3.Result[]', + type: 'tuple[]', components: [ - { name: "success", internalType: "bool", type: "bool" }, - { name: "returnData", internalType: "bytes", type: "bytes" }, + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, ], }, ], }, -] as const; +] as const /** * - @@ -1954,12 +1954,12 @@ export const multicall3ABI = [ * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export const multicall3Address = { - 31337: "0x9A676e781A523b5d0C0e43731313A708CB607508", - 42161: "0xcA11bde05977b3631167028862bE2a173976CA11", - 59140: "0xcA11bde05977b3631167028862bE2a173976CA11", - 59144: "0xcA11bde05977b3631167028862bE2a173976CA11", - 421613: "0xcA11bde05977b3631167028862bE2a173976CA11", -} as const; + 31337: '0x9A676e781A523b5d0C0e43731313A708CB607508', + 42161: '0xcA11bde05977b3631167028862bE2a173976CA11', + 59140: '0xcA11bde05977b3631167028862bE2a173976CA11', + 59144: '0xcA11bde05977b3631167028862bE2a173976CA11', + 421613: '0xcA11bde05977b3631167028862bE2a173976CA11', +} as const /** * - @@ -1967,7 +1967,7 @@ export const multicall3Address = { * - [__View Contract on Linea Goerli Testnet Block Scout__](https://explorer.goerli.linea.build/address/0xcA11bde05977b3631167028862bE2a173976CA11) * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ -export const multicall3Config = { address: multicall3Address, abi: multicall3ABI } as const; +export const multicall3Config = { address: multicall3Address, abi: multicall3ABI } as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ITransfersListener @@ -1975,17 +1975,17 @@ export const multicall3Config = { address: multicall3Address, abi: multicall3ABI export const iTransfersListenerABI = [ { - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { name: "from", internalType: "address", type: "address" }, - { name: "to", internalType: "address", type: "address" }, - { name: "amount", internalType: "uint256", type: "uint256" }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], - name: "onLTokenTransfer", + name: 'onLTokenTransfer', outputs: [], }, -] as const; +] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // React @@ -2002,14 +2002,14 @@ export function useLdyStakingRead< >( config: Omit< UseContractReadConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof ldyStakingAddress } = {} as any, ) { return useContractRead({ abi: ldyStakingABI, address: ldyStakingAddress[31337], ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2018,20 +2018,20 @@ export function useLdyStakingRead< * */ export function useLdyStakingTierOf< - TFunctionName extends "tierOf", + TFunctionName extends 'tierOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof ldyStakingAddress } = {} as any, ) { return useContractRead({ abi: ldyStakingABI, address: ldyStakingAddress[31337], - functionName: "tierOf", + functionName: 'tierOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2045,14 +2045,14 @@ export function useGlobalBlacklistRead< >( config: Omit< UseContractReadConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractRead({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2061,20 +2061,20 @@ export function useGlobalBlacklistRead< * */ export function useGlobalBlacklistGlobalOwner< - TFunctionName extends "globalOwner", + TFunctionName extends 'globalOwner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractRead({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "globalOwner", + functionName: 'globalOwner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2083,20 +2083,20 @@ export function useGlobalBlacklistGlobalOwner< * */ export function useGlobalBlacklistIsBlacklisted< - TFunctionName extends "isBlacklisted", + TFunctionName extends 'isBlacklisted', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractRead({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "isBlacklisted", + functionName: 'isBlacklisted', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2105,20 +2105,20 @@ export function useGlobalBlacklistIsBlacklisted< * */ export function useGlobalBlacklistOwner< - TFunctionName extends "owner", + TFunctionName extends 'owner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractRead({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "owner", + functionName: 'owner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2127,20 +2127,20 @@ export function useGlobalBlacklistOwner< * */ export function useGlobalBlacklistProxiableUuid< - TFunctionName extends "proxiableUUID", + TFunctionName extends 'proxiableUUID', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractRead({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "proxiableUUID", + functionName: 'proxiableUUID', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2149,20 +2149,20 @@ export function useGlobalBlacklistProxiableUuid< * */ export function useGlobalBlacklistRenounceOwnership< - TFunctionName extends "renounceOwnership", + TFunctionName extends 'renounceOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractRead({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "renounceOwnership", + functionName: 'renounceOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2171,20 +2171,20 @@ export function useGlobalBlacklistRenounceOwnership< * */ export function useGlobalBlacklistTransferOwnership< - TFunctionName extends "transferOwnership", + TFunctionName extends 'transferOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractRead({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "transferOwnership", + functionName: 'transferOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2197,23 +2197,23 @@ export function useGlobalBlacklistWrite< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalBlacklistAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > & { address?: Address; chainId?: TChainId } : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; + abi?: never + address?: never + chainId?: TChainId } = {} as any, ) { return useContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config, - } as any); + } as any) } /** @@ -2225,25 +2225,25 @@ export function useGlobalBlacklistBlacklist< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalBlacklistAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "blacklist", + PrepareWriteContractResult['request']['abi'], + 'blacklist', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "blacklist" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "blacklist"; + > & { address?: Address; chainId?: TChainId; functionName?: 'blacklist' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'blacklist' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "blacklist", + functionName: 'blacklist', ...config, - } as any); + } as any) } /** @@ -2255,25 +2255,25 @@ export function useGlobalBlacklistInitialize< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalBlacklistAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "initialize", + PrepareWriteContractResult['request']['abi'], + 'initialize', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "initialize" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "initialize"; + > & { address?: Address; chainId?: TChainId; functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'initialize' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as any); + } as any) } /** @@ -2285,25 +2285,25 @@ export function useGlobalBlacklistUnBlacklist< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalBlacklistAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "unBlacklist", + PrepareWriteContractResult['request']['abi'], + 'unBlacklist', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "unBlacklist" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "unBlacklist"; + > & { address?: Address; chainId?: TChainId; functionName?: 'unBlacklist' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'unBlacklist' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "unBlacklist", + functionName: 'unBlacklist', ...config, - } as any); + } as any) } /** @@ -2315,25 +2315,25 @@ export function useGlobalBlacklistUpgradeTo< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalBlacklistAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeTo", + PrepareWriteContractResult['request']['abi'], + 'upgradeTo', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeTo" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeTo"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeTo' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeTo' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as any); + } as any) } /** @@ -2345,25 +2345,25 @@ export function useGlobalBlacklistUpgradeToAndCall< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalBlacklistAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeToAndCall", + PrepareWriteContractResult['request']['abi'], + 'upgradeToAndCall', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeToAndCall" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeToAndCall"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeToAndCall' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeToAndCall' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as any); + } as any) } /** @@ -2374,14 +2374,14 @@ export function useGlobalBlacklistUpgradeToAndCall< export function usePrepareGlobalBlacklistWrite( config: Omit< UsePrepareContractWriteConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2391,16 +2391,16 @@ export function usePrepareGlobalBlacklistWrite( */ export function usePrepareGlobalBlacklistBlacklist( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "blacklist", + functionName: 'blacklist', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2410,16 +2410,16 @@ export function usePrepareGlobalBlacklistBlacklist( */ export function usePrepareGlobalBlacklistInitialize( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2429,16 +2429,16 @@ export function usePrepareGlobalBlacklistInitialize( */ export function usePrepareGlobalBlacklistUnBlacklist( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "unBlacklist", + functionName: 'unBlacklist', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2448,16 +2448,16 @@ export function usePrepareGlobalBlacklistUnBlacklist( */ export function usePrepareGlobalBlacklistUpgradeTo( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2467,16 +2467,16 @@ export function usePrepareGlobalBlacklistUpgradeTo( */ export function usePrepareGlobalBlacklistUpgradeToAndCall( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2485,15 +2485,15 @@ export function usePrepareGlobalBlacklistUpgradeToAndCall( * */ export function useGlobalBlacklistEvent( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalBlacklistAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractEvent({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -2503,16 +2503,16 @@ export function useGlobalBlacklistEvent( */ export function useGlobalBlacklistAdminChangedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractEvent({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - eventName: "AdminChanged", + eventName: 'AdminChanged', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -2522,16 +2522,16 @@ export function useGlobalBlacklistAdminChangedEvent( */ export function useGlobalBlacklistBeaconUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractEvent({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - eventName: "BeaconUpgraded", + eventName: 'BeaconUpgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -2541,16 +2541,16 @@ export function useGlobalBlacklistBeaconUpgradedEvent( */ export function useGlobalBlacklistInitializedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractEvent({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - eventName: "Initialized", + eventName: 'Initialized', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -2560,16 +2560,16 @@ export function useGlobalBlacklistInitializedEvent( */ export function useGlobalBlacklistOwnershipTransferredEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractEvent({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - eventName: "OwnershipTransferred", + eventName: 'OwnershipTransferred', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -2579,16 +2579,16 @@ export function useGlobalBlacklistOwnershipTransferredEvent( */ export function useGlobalBlacklistUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalBlacklistAddress } = {} as any, ) { return useContractEvent({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], - eventName: "Upgraded", + eventName: 'Upgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -2602,14 +2602,14 @@ export function useGlobalOwnerRead< >( config: Omit< UseContractReadConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractRead({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2618,20 +2618,20 @@ export function useGlobalOwnerRead< * */ export function useGlobalOwnerOwner< - TFunctionName extends "owner", + TFunctionName extends 'owner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractRead({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "owner", + functionName: 'owner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2640,20 +2640,20 @@ export function useGlobalOwnerOwner< * */ export function useGlobalOwnerPendingOwner< - TFunctionName extends "pendingOwner", + TFunctionName extends 'pendingOwner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractRead({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "pendingOwner", + functionName: 'pendingOwner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2662,20 +2662,20 @@ export function useGlobalOwnerPendingOwner< * */ export function useGlobalOwnerProxiableUuid< - TFunctionName extends "proxiableUUID", + TFunctionName extends 'proxiableUUID', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractRead({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "proxiableUUID", + functionName: 'proxiableUUID', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -2688,23 +2688,23 @@ export function useGlobalOwnerWrite< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalOwnerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > & { address?: Address; chainId?: TChainId } : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; + abi?: never + address?: never + chainId?: TChainId } = {} as any, ) { return useContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config, - } as any); + } as any) } /** @@ -2716,25 +2716,25 @@ export function useGlobalOwnerAcceptOwnership< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalOwnerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "acceptOwnership", + PrepareWriteContractResult['request']['abi'], + 'acceptOwnership', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "acceptOwnership" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "acceptOwnership"; + > & { address?: Address; chainId?: TChainId; functionName?: 'acceptOwnership' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'acceptOwnership' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "acceptOwnership", + functionName: 'acceptOwnership', ...config, - } as any); + } as any) } /** @@ -2746,25 +2746,25 @@ export function useGlobalOwnerInitialize< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalOwnerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "initialize", + PrepareWriteContractResult['request']['abi'], + 'initialize', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "initialize" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "initialize"; + > & { address?: Address; chainId?: TChainId; functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'initialize' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as any); + } as any) } /** @@ -2776,25 +2776,25 @@ export function useGlobalOwnerRenounceOwnership< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalOwnerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "renounceOwnership", + PrepareWriteContractResult['request']['abi'], + 'renounceOwnership', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "renounceOwnership" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "renounceOwnership"; + > & { address?: Address; chainId?: TChainId; functionName?: 'renounceOwnership' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'renounceOwnership' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "renounceOwnership", + functionName: 'renounceOwnership', ...config, - } as any); + } as any) } /** @@ -2806,25 +2806,25 @@ export function useGlobalOwnerTransferOwnership< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalOwnerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "transferOwnership", + PrepareWriteContractResult['request']['abi'], + 'transferOwnership', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "transferOwnership" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "transferOwnership"; + > & { address?: Address; chainId?: TChainId; functionName?: 'transferOwnership' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'transferOwnership' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "transferOwnership", + functionName: 'transferOwnership', ...config, - } as any); + } as any) } /** @@ -2836,25 +2836,25 @@ export function useGlobalOwnerUpgradeTo< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalOwnerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeTo", + PrepareWriteContractResult['request']['abi'], + 'upgradeTo', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeTo" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeTo"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeTo' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeTo' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as any); + } as any) } /** @@ -2866,25 +2866,25 @@ export function useGlobalOwnerUpgradeToAndCall< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalOwnerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeToAndCall", + PrepareWriteContractResult['request']['abi'], + 'upgradeToAndCall', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeToAndCall" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeToAndCall"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeToAndCall' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeToAndCall' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as any); + } as any) } /** @@ -2895,14 +2895,14 @@ export function useGlobalOwnerUpgradeToAndCall< export function usePrepareGlobalOwnerWrite( config: Omit< UsePrepareContractWriteConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2912,16 +2912,16 @@ export function usePrepareGlobalOwnerWrite( */ export function usePrepareGlobalOwnerAcceptOwnership( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "acceptOwnership", + functionName: 'acceptOwnership', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2931,16 +2931,16 @@ export function usePrepareGlobalOwnerAcceptOwnership( */ export function usePrepareGlobalOwnerInitialize( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2950,16 +2950,16 @@ export function usePrepareGlobalOwnerInitialize( */ export function usePrepareGlobalOwnerRenounceOwnership( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "renounceOwnership", + functionName: 'renounceOwnership', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2969,16 +2969,16 @@ export function usePrepareGlobalOwnerRenounceOwnership( */ export function usePrepareGlobalOwnerTransferOwnership( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "transferOwnership", + functionName: 'transferOwnership', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -2988,16 +2988,16 @@ export function usePrepareGlobalOwnerTransferOwnership( */ export function usePrepareGlobalOwnerUpgradeTo( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3007,16 +3007,16 @@ export function usePrepareGlobalOwnerUpgradeTo( */ export function usePrepareGlobalOwnerUpgradeToAndCall( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3025,15 +3025,15 @@ export function usePrepareGlobalOwnerUpgradeToAndCall( * */ export function useGlobalOwnerEvent( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalOwnerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractEvent({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3043,16 +3043,16 @@ export function useGlobalOwnerEvent( */ export function useGlobalOwnerAdminChangedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractEvent({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - eventName: "AdminChanged", + eventName: 'AdminChanged', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3062,16 +3062,16 @@ export function useGlobalOwnerAdminChangedEvent( */ export function useGlobalOwnerBeaconUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractEvent({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - eventName: "BeaconUpgraded", + eventName: 'BeaconUpgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3081,16 +3081,16 @@ export function useGlobalOwnerBeaconUpgradedEvent( */ export function useGlobalOwnerInitializedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractEvent({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - eventName: "Initialized", + eventName: 'Initialized', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3100,16 +3100,16 @@ export function useGlobalOwnerInitializedEvent( */ export function useGlobalOwnerOwnershipTransferStartedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractEvent({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - eventName: "OwnershipTransferStarted", + eventName: 'OwnershipTransferStarted', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3119,16 +3119,16 @@ export function useGlobalOwnerOwnershipTransferStartedEvent( */ export function useGlobalOwnerOwnershipTransferredEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractEvent({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - eventName: "OwnershipTransferred", + eventName: 'OwnershipTransferred', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3138,16 +3138,16 @@ export function useGlobalOwnerOwnershipTransferredEvent( */ export function useGlobalOwnerUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalOwnerAddress } = {} as any, ) { return useContractEvent({ abi: globalOwnerABI, address: globalOwnerAddress[31337], - eventName: "Upgraded", + eventName: 'Upgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3161,14 +3161,14 @@ export function useGlobalPauseRead< >( config: Omit< UseContractReadConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractRead({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -3177,20 +3177,20 @@ export function useGlobalPauseRead< * */ export function useGlobalPauseGlobalOwner< - TFunctionName extends "globalOwner", + TFunctionName extends 'globalOwner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractRead({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "globalOwner", + functionName: 'globalOwner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -3199,20 +3199,20 @@ export function useGlobalPauseGlobalOwner< * */ export function useGlobalPauseOwner< - TFunctionName extends "owner", + TFunctionName extends 'owner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractRead({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "owner", + functionName: 'owner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -3221,20 +3221,20 @@ export function useGlobalPauseOwner< * */ export function useGlobalPausePaused< - TFunctionName extends "paused", + TFunctionName extends 'paused', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractRead({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "paused", + functionName: 'paused', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -3243,20 +3243,20 @@ export function useGlobalPausePaused< * */ export function useGlobalPauseProxiableUuid< - TFunctionName extends "proxiableUUID", + TFunctionName extends 'proxiableUUID', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractRead({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "proxiableUUID", + functionName: 'proxiableUUID', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -3265,20 +3265,20 @@ export function useGlobalPauseProxiableUuid< * */ export function useGlobalPauseRenounceOwnership< - TFunctionName extends "renounceOwnership", + TFunctionName extends 'renounceOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractRead({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "renounceOwnership", + functionName: 'renounceOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -3287,20 +3287,20 @@ export function useGlobalPauseRenounceOwnership< * */ export function useGlobalPauseTransferOwnership< - TFunctionName extends "transferOwnership", + TFunctionName extends 'transferOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractRead({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "transferOwnership", + functionName: 'transferOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -3313,23 +3313,23 @@ export function useGlobalPauseWrite< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalPauseAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > & { address?: Address; chainId?: TChainId } : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; + abi?: never + address?: never + chainId?: TChainId } = {} as any, ) { return useContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config, - } as any); + } as any) } /** @@ -3341,25 +3341,25 @@ export function useGlobalPauseInitialize< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalPauseAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "initialize", + PrepareWriteContractResult['request']['abi'], + 'initialize', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "initialize" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "initialize"; + > & { address?: Address; chainId?: TChainId; functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'initialize' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as any); + } as any) } /** @@ -3371,25 +3371,25 @@ export function useGlobalPausePause< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalPauseAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "pause", + PrepareWriteContractResult['request']['abi'], + 'pause', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "pause" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "pause"; + > & { address?: Address; chainId?: TChainId; functionName?: 'pause' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'pause' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "pause", + functionName: 'pause', ...config, - } as any); + } as any) } /** @@ -3401,25 +3401,25 @@ export function useGlobalPauseUnpause< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalPauseAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "unpause", + PrepareWriteContractResult['request']['abi'], + 'unpause', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "unpause" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "unpause"; + > & { address?: Address; chainId?: TChainId; functionName?: 'unpause' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'unpause' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "unpause", + functionName: 'unpause', ...config, - } as any); + } as any) } /** @@ -3431,25 +3431,25 @@ export function useGlobalPauseUpgradeTo< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalPauseAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeTo", + PrepareWriteContractResult['request']['abi'], + 'upgradeTo', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeTo" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeTo"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeTo' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeTo' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as any); + } as any) } /** @@ -3461,25 +3461,25 @@ export function useGlobalPauseUpgradeToAndCall< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof globalPauseAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeToAndCall", + PrepareWriteContractResult['request']['abi'], + 'upgradeToAndCall', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeToAndCall" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeToAndCall"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeToAndCall' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeToAndCall' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as any); + } as any) } /** @@ -3490,14 +3490,14 @@ export function useGlobalPauseUpgradeToAndCall< export function usePrepareGlobalPauseWrite( config: Omit< UsePrepareContractWriteConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3507,16 +3507,16 @@ export function usePrepareGlobalPauseWrite( */ export function usePrepareGlobalPauseInitialize( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3526,16 +3526,16 @@ export function usePrepareGlobalPauseInitialize( */ export function usePrepareGlobalPausePause( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "pause", + functionName: 'pause', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3545,16 +3545,16 @@ export function usePrepareGlobalPausePause( */ export function usePrepareGlobalPauseUnpause( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "unpause", + functionName: 'unpause', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3564,16 +3564,16 @@ export function usePrepareGlobalPauseUnpause( */ export function usePrepareGlobalPauseUpgradeTo( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3583,16 +3583,16 @@ export function usePrepareGlobalPauseUpgradeTo( */ export function usePrepareGlobalPauseUpgradeToAndCall( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return usePrepareContractWrite({ abi: globalPauseABI, address: globalPauseAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -3601,15 +3601,15 @@ export function usePrepareGlobalPauseUpgradeToAndCall( * */ export function useGlobalPauseEvent( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalPauseAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3619,16 +3619,16 @@ export function useGlobalPauseEvent( */ export function useGlobalPauseAdminChangedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], - eventName: "AdminChanged", + eventName: 'AdminChanged', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3638,16 +3638,16 @@ export function useGlobalPauseAdminChangedEvent( */ export function useGlobalPauseBeaconUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], - eventName: "BeaconUpgraded", + eventName: 'BeaconUpgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3657,16 +3657,16 @@ export function useGlobalPauseBeaconUpgradedEvent( */ export function useGlobalPauseInitializedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], - eventName: "Initialized", + eventName: 'Initialized', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3676,16 +3676,16 @@ export function useGlobalPauseInitializedEvent( */ export function useGlobalPauseOwnershipTransferredEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], - eventName: "OwnershipTransferred", + eventName: 'OwnershipTransferred', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3695,16 +3695,16 @@ export function useGlobalPauseOwnershipTransferredEvent( */ export function useGlobalPausePausedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], - eventName: "Paused", + eventName: 'Paused', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3714,16 +3714,16 @@ export function useGlobalPausePausedEvent( */ export function useGlobalPauseUnpausedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], - eventName: "Unpaused", + eventName: 'Unpaused', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3733,16 +3733,16 @@ export function useGlobalPauseUnpausedEvent( */ export function useGlobalPauseUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof globalPauseAddress } = {} as any, ) { return useContractEvent({ abi: globalPauseABI, address: globalPauseAddress[31337], - eventName: "Upgraded", + eventName: 'Upgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -3754,736 +3754,736 @@ export function useLTokenRead< >( config: Omit< UseContractReadConfig, - "abi" + 'abi' > = {} as any, ) { return useContractRead({ abi: lTokenABI, ...config } as UseContractReadConfig< typeof lTokenABI, TFunctionName, TSelectData - >); + >) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"allowance"`. */ export function useLTokenAllowance< - TFunctionName extends "allowance", + TFunctionName extends 'allowance', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "allowance", + functionName: 'allowance', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"balanceOf"`. */ export function useLTokenBalanceOf< - TFunctionName extends "balanceOf", + TFunctionName extends 'balanceOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "balanceOf", + functionName: 'balanceOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"decimals"`. */ export function useLTokenDecimals< - TFunctionName extends "decimals", + TFunctionName extends 'decimals', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "decimals", + functionName: 'decimals', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"depositFor"`. */ export function useLTokenDepositFor< - TFunctionName extends "depositFor", + TFunctionName extends 'depositFor', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "depositFor", + functionName: 'depositFor', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"feesRateUD7x3"`. */ export function useLTokenFeesRateUd7x3< - TFunctionName extends "feesRateUD7x3", + TFunctionName extends 'feesRateUD7x3', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "feesRateUD7x3", + functionName: 'feesRateUD7x3', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"frozenRequests"`. */ export function useLTokenFrozenRequests< - TFunctionName extends "frozenRequests", + TFunctionName extends 'frozenRequests', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "frozenRequests", + functionName: 'frozenRequests', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"fund"`. */ export function useLTokenFund< - TFunctionName extends "fund", + TFunctionName extends 'fund', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "fund", + functionName: 'fund', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"getAPR"`. */ export function useLTokenGetApr< - TFunctionName extends "getAPR", + TFunctionName extends 'getAPR', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "getAPR", + functionName: 'getAPR', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"getExpectedRetained"`. */ export function useLTokenGetExpectedRetained< - TFunctionName extends "getExpectedRetained", + TFunctionName extends 'getExpectedRetained', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "getExpectedRetained", + functionName: 'getExpectedRetained', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"getWithdrawnAmountAndFees"`. */ export function useLTokenGetWithdrawnAmountAndFees< - TFunctionName extends "getWithdrawnAmountAndFees", + TFunctionName extends 'getWithdrawnAmountAndFees', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "getWithdrawnAmountAndFees", + functionName: 'getWithdrawnAmountAndFees', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"globalBlacklist"`. */ export function useLTokenGlobalBlacklist< - TFunctionName extends "globalBlacklist", + TFunctionName extends 'globalBlacklist', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "globalBlacklist", + functionName: 'globalBlacklist', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"globalOwner"`. */ export function useLTokenGlobalOwner< - TFunctionName extends "globalOwner", + TFunctionName extends 'globalOwner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "globalOwner", + functionName: 'globalOwner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"globalPause"`. */ export function useLTokenGlobalPause< - TFunctionName extends "globalPause", + TFunctionName extends 'globalPause', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "globalPause", + functionName: 'globalPause', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"invested"`. */ export function useLTokenInvested< - TFunctionName extends "invested", + TFunctionName extends 'invested', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "invested", + functionName: 'invested', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"ldyStaking"`. */ export function useLTokenLdyStaking< - TFunctionName extends "ldyStaking", + TFunctionName extends 'ldyStaking', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "ldyStaking", + functionName: 'ldyStaking', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"name"`. */ export function useLTokenName< - TFunctionName extends "name", + TFunctionName extends 'name', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "name", + functionName: 'name', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"owner"`. */ export function useLTokenOwner< - TFunctionName extends "owner", + TFunctionName extends 'owner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "owner", + functionName: 'owner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"paused"`. */ export function useLTokenPaused< - TFunctionName extends "paused", + TFunctionName extends 'paused', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "paused", + functionName: 'paused', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"proxiableUUID"`. */ export function useLTokenProxiableUuid< - TFunctionName extends "proxiableUUID", + TFunctionName extends 'proxiableUUID', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "proxiableUUID", + functionName: 'proxiableUUID', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"realBalanceOf"`. */ export function useLTokenRealBalanceOf< - TFunctionName extends "realBalanceOf", + TFunctionName extends 'realBalanceOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "realBalanceOf", + functionName: 'realBalanceOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"realTotalSupply"`. */ export function useLTokenRealTotalSupply< - TFunctionName extends "realTotalSupply", + TFunctionName extends 'realTotalSupply', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "realTotalSupply", + functionName: 'realTotalSupply', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"renounceOwnership"`. */ export function useLTokenRenounceOwnership< - TFunctionName extends "renounceOwnership", + TFunctionName extends 'renounceOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "renounceOwnership", + functionName: 'renounceOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"retentionRateUD7x3"`. */ export function useLTokenRetentionRateUd7x3< - TFunctionName extends "retentionRateUD7x3", + TFunctionName extends 'retentionRateUD7x3', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "retentionRateUD7x3", + functionName: 'retentionRateUD7x3', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"rewardsRedirectsFromTo"`. */ export function useLTokenRewardsRedirectsFromTo< - TFunctionName extends "rewardsRedirectsFromTo", + TFunctionName extends 'rewardsRedirectsFromTo', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "rewardsRedirectsFromTo", + functionName: 'rewardsRedirectsFromTo', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"rewardsRedirectsToFrom"`. */ export function useLTokenRewardsRedirectsToFrom< - TFunctionName extends "rewardsRedirectsToFrom", + TFunctionName extends 'rewardsRedirectsToFrom', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "rewardsRedirectsToFrom", + functionName: 'rewardsRedirectsToFrom', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"symbol"`. */ export function useLTokenSymbol< - TFunctionName extends "symbol", + TFunctionName extends 'symbol', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "symbol", + functionName: 'symbol', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"totalQueued"`. */ export function useLTokenTotalQueued< - TFunctionName extends "totalQueued", + TFunctionName extends 'totalQueued', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "totalQueued", + functionName: 'totalQueued', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"totalSupply"`. */ export function useLTokenTotalSupply< - TFunctionName extends "totalSupply", + TFunctionName extends 'totalSupply', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "totalSupply", + functionName: 'totalSupply', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"transferOwnership"`. */ export function useLTokenTransferOwnership< - TFunctionName extends "transferOwnership", + TFunctionName extends 'transferOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "transferOwnership", + functionName: 'transferOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"transfersListeners"`. */ export function useLTokenTransfersListeners< - TFunctionName extends "transfersListeners", + TFunctionName extends 'transfersListeners', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "transfersListeners", + functionName: 'transfersListeners', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"unclaimedFees"`. */ export function useLTokenUnclaimedFees< - TFunctionName extends "unclaimedFees", + TFunctionName extends 'unclaimedFees', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "unclaimedFees", + functionName: 'unclaimedFees', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"underlying"`. */ export function useLTokenUnderlying< - TFunctionName extends "underlying", + TFunctionName extends 'underlying', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "underlying", + functionName: 'underlying', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"unmintedRewardsOf"`. */ export function useLTokenUnmintedRewardsOf< - TFunctionName extends "unmintedRewardsOf", + TFunctionName extends 'unmintedRewardsOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "unmintedRewardsOf", + functionName: 'unmintedRewardsOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"usableUnderlyings"`. */ export function useLTokenUsableUnderlyings< - TFunctionName extends "usableUnderlyings", + TFunctionName extends 'usableUnderlyings', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "usableUnderlyings", + functionName: 'usableUnderlyings', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"withdrawTo"`. */ export function useLTokenWithdrawTo< - TFunctionName extends "withdrawTo", + TFunctionName extends 'withdrawTo', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "withdrawTo", + functionName: 'withdrawTo', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"withdrawalQueue"`. */ export function useLTokenWithdrawalQueue< - TFunctionName extends "withdrawalQueue", + TFunctionName extends 'withdrawalQueue', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "withdrawalQueue", + functionName: 'withdrawalQueue', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"withdrawalQueueCursor"`. */ export function useLTokenWithdrawalQueueCursor< - TFunctionName extends "withdrawalQueueCursor", + TFunctionName extends 'withdrawalQueueCursor', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "withdrawalQueueCursor", + functionName: 'withdrawalQueueCursor', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"withdrawer"`. */ export function useLTokenWithdrawer< - TFunctionName extends "withdrawer", + TFunctionName extends 'withdrawer', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: lTokenABI, - functionName: "withdrawer", + functionName: 'withdrawer', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -4493,648 +4493,648 @@ export function useLTokenWrite< TFunctionName extends string, TMode extends WriteContractMode = undefined, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > : UseContractWriteConfig & { - abi?: never; + abi?: never } = {} as any, ) { return useContractWrite({ abi: lTokenABI, ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"approve"`. */ export function useLTokenApprove( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "approve", + PrepareWriteContractResult['request']['abi'], + 'approve', TMode - > & { functionName?: "approve" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "approve"; + > & { functionName?: 'approve' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'approve' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "approve", + functionName: 'approve', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processQueuedRequests"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"cancelWithdrawalRequest"`. */ -export function useLTokenBatchQueuedWithdraw( - config: TMode extends "prepared" +export function useLTokenCancelWithdrawalRequest( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "processQueuedRequests", + PrepareWriteContractResult['request']['abi'], + 'cancelWithdrawalRequest', TMode - > & { functionName?: "processQueuedRequests" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "processQueuedRequests"; + > & { functionName?: 'cancelWithdrawalRequest' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'cancelWithdrawalRequest' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "processQueuedRequests", + functionName: 'cancelWithdrawalRequest', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processBigQueuedRequest"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"claimFees"`. */ -export function useLTokenprocessBigQueuedRequest( - config: TMode extends "prepared" +export function useLTokenClaimFees( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "processBigQueuedRequest", + PrepareWriteContractResult['request']['abi'], + 'claimFees', TMode - > & { functionName?: "processBigQueuedRequest" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "processBigQueuedRequest"; + > & { functionName?: 'claimFees' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'claimFees' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "processBigQueuedRequest", + functionName: 'claimFees', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"cancelWithdrawalRequest"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"decreaseAllowance"`. */ -export function useLTokenCancelWithdrawalRequest( - config: TMode extends "prepared" +export function useLTokenDecreaseAllowance( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "cancelWithdrawalRequest", + PrepareWriteContractResult['request']['abi'], + 'decreaseAllowance', TMode - > & { functionName?: "cancelWithdrawalRequest" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "cancelWithdrawalRequest"; + > & { functionName?: 'decreaseAllowance' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'decreaseAllowance' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "cancelWithdrawalRequest", + functionName: 'decreaseAllowance', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"claimFees"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"deposit"`. */ -export function useLTokenClaimFees( - config: TMode extends "prepared" +export function useLTokenDeposit( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "claimFees", + PrepareWriteContractResult['request']['abi'], + 'deposit', TMode - > & { functionName?: "claimFees" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "claimFees"; + > & { functionName?: 'deposit' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'deposit' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "claimFees", + functionName: 'deposit', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"decreaseAllowance"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"increaseAllowance"`. */ -export function useLTokenDecreaseAllowance( - config: TMode extends "prepared" +export function useLTokenIncreaseAllowance( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "decreaseAllowance", + PrepareWriteContractResult['request']['abi'], + 'increaseAllowance', TMode - > & { functionName?: "decreaseAllowance" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "decreaseAllowance"; + > & { functionName?: 'increaseAllowance' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'increaseAllowance' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "decreaseAllowance", + functionName: 'increaseAllowance', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"deposit"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"initialize"`. */ -export function useLTokenDeposit( - config: TMode extends "prepared" +export function useLTokenInitialize( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "deposit", + PrepareWriteContractResult['request']['abi'], + 'initialize', TMode - > & { functionName?: "deposit" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "deposit"; + > & { functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'initialize' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "deposit", + functionName: 'initialize', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"increaseAllowance"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"instantWithdrawal"`. */ -export function useLTokenIncreaseAllowance( - config: TMode extends "prepared" +export function useLTokenInstantWithdrawal( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "increaseAllowance", + PrepareWriteContractResult['request']['abi'], + 'instantWithdrawal', TMode - > & { functionName?: "increaseAllowance" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "increaseAllowance"; + > & { functionName?: 'instantWithdrawal' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'instantWithdrawal' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "increaseAllowance", + functionName: 'instantWithdrawal', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"initialize"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"listenToTransfers"`. */ -export function useLTokenInitialize( - config: TMode extends "prepared" +export function useLTokenListenToTransfers( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "initialize", + PrepareWriteContractResult['request']['abi'], + 'listenToTransfers', TMode - > & { functionName?: "initialize" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "initialize"; + > & { functionName?: 'listenToTransfers' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'listenToTransfers' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "initialize", + functionName: 'listenToTransfers', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"instantWithdrawal"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processBigQueuedRequest"`. */ -export function useLTokenInstantWithdrawal( - config: TMode extends "prepared" +export function useLTokenProcessBigQueuedRequest( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "instantWithdrawal", + PrepareWriteContractResult['request']['abi'], + 'processBigQueuedRequest', TMode - > & { functionName?: "instantWithdrawal" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "instantWithdrawal"; + > & { functionName?: 'processBigQueuedRequest' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'processBigQueuedRequest' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "instantWithdrawal", + functionName: 'processBigQueuedRequest', ...config, - } as any); + } as any) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"listenToTransfers"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processQueuedRequests"`. */ -export function useLTokenListenToTransfers( - config: TMode extends "prepared" +export function useLTokenProcessQueuedRequests( + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "listenToTransfers", + PrepareWriteContractResult['request']['abi'], + 'processQueuedRequests', TMode - > & { functionName?: "listenToTransfers" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "listenToTransfers"; + > & { functionName?: 'processQueuedRequests' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'processQueuedRequests' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "listenToTransfers", + functionName: 'processQueuedRequests', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"recoverERC20"`. */ export function useLTokenRecoverErc20( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "recoverERC20", + PrepareWriteContractResult['request']['abi'], + 'recoverERC20', TMode - > & { functionName?: "recoverERC20" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "recoverERC20"; + > & { functionName?: 'recoverERC20' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'recoverERC20' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "recoverERC20", + functionName: 'recoverERC20', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"recoverUnderlying"`. */ export function useLTokenRecoverUnderlying( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "recoverUnderlying", + PrepareWriteContractResult['request']['abi'], + 'recoverUnderlying', TMode - > & { functionName?: "recoverUnderlying" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "recoverUnderlying"; + > & { functionName?: 'recoverUnderlying' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'recoverUnderlying' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "recoverUnderlying", + functionName: 'recoverUnderlying', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"repatriate"`. */ export function useLTokenRepatriate( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "repatriate", + PrepareWriteContractResult['request']['abi'], + 'repatriate', TMode - > & { functionName?: "repatriate" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "repatriate"; + > & { functionName?: 'repatriate' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'repatriate' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "repatriate", + functionName: 'repatriate', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"requestWithdrawal"`. */ export function useLTokenRequestWithdrawal( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "requestWithdrawal", + PrepareWriteContractResult['request']['abi'], + 'requestWithdrawal', TMode - > & { functionName?: "requestWithdrawal" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "requestWithdrawal"; + > & { functionName?: 'requestWithdrawal' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'requestWithdrawal' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "requestWithdrawal", + functionName: 'requestWithdrawal', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"setAPR"`. */ export function useLTokenSetApr( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setAPR", + PrepareWriteContractResult['request']['abi'], + 'setAPR', TMode - > & { functionName?: "setAPR" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setAPR"; + > & { functionName?: 'setAPR' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setAPR' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "setAPR", + functionName: 'setAPR', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"setFeesRate"`. */ export function useLTokenSetFeesRate( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setFeesRate", + PrepareWriteContractResult['request']['abi'], + 'setFeesRate', TMode - > & { functionName?: "setFeesRate" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setFeesRate"; + > & { functionName?: 'setFeesRate' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setFeesRate' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "setFeesRate", + functionName: 'setFeesRate', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"setFund"`. */ export function useLTokenSetFund( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setFund", + PrepareWriteContractResult['request']['abi'], + 'setFund', TMode - > & { functionName?: "setFund" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setFund"; + > & { functionName?: 'setFund' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setFund' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "setFund", + functionName: 'setFund', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"setLDYStaking"`. */ export function useLTokenSetLdyStaking( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setLDYStaking", + PrepareWriteContractResult['request']['abi'], + 'setLDYStaking', TMode - > & { functionName?: "setLDYStaking" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setLDYStaking"; + > & { functionName?: 'setLDYStaking' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setLDYStaking' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "setLDYStaking", + functionName: 'setLDYStaking', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"setRetentionRate"`. */ export function useLTokenSetRetentionRate( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setRetentionRate", + PrepareWriteContractResult['request']['abi'], + 'setRetentionRate', TMode - > & { functionName?: "setRetentionRate" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setRetentionRate"; + > & { functionName?: 'setRetentionRate' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setRetentionRate' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "setRetentionRate", + functionName: 'setRetentionRate', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"setWithdrawer"`. */ export function useLTokenSetWithdrawer( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setWithdrawer", + PrepareWriteContractResult['request']['abi'], + 'setWithdrawer', TMode - > & { functionName?: "setWithdrawer" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setWithdrawer"; + > & { functionName?: 'setWithdrawer' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setWithdrawer' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "setWithdrawer", + functionName: 'setWithdrawer', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"startRewardsRedirection"`. */ export function useLTokenStartRewardsRedirection( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "startRewardsRedirection", + PrepareWriteContractResult['request']['abi'], + 'startRewardsRedirection', TMode - > & { functionName?: "startRewardsRedirection" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "startRewardsRedirection"; + > & { functionName?: 'startRewardsRedirection' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'startRewardsRedirection' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "startRewardsRedirection", + functionName: 'startRewardsRedirection', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"stopRewardsRedirection"`. */ export function useLTokenStopRewardsRedirection( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "stopRewardsRedirection", + PrepareWriteContractResult['request']['abi'], + 'stopRewardsRedirection', TMode - > & { functionName?: "stopRewardsRedirection" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "stopRewardsRedirection"; + > & { functionName?: 'stopRewardsRedirection' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'stopRewardsRedirection' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "stopRewardsRedirection", + functionName: 'stopRewardsRedirection', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"transfer"`. */ export function useLTokenTransfer( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "transfer", + PrepareWriteContractResult['request']['abi'], + 'transfer', TMode - > & { functionName?: "transfer" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "transfer"; + > & { functionName?: 'transfer' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'transfer' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "transfer", + functionName: 'transfer', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"transferFrom"`. */ export function useLTokenTransferFrom( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "transferFrom", + PrepareWriteContractResult['request']['abi'], + 'transferFrom', TMode - > & { functionName?: "transferFrom" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "transferFrom"; + > & { functionName?: 'transferFrom' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'transferFrom' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "transferFrom", + functionName: 'transferFrom', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"unlistenToTransfers"`. */ export function useLTokenUnlistenToTransfers( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "unlistenToTransfers", + PrepareWriteContractResult['request']['abi'], + 'unlistenToTransfers', TMode - > & { functionName?: "unlistenToTransfers" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "unlistenToTransfers"; + > & { functionName?: 'unlistenToTransfers' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'unlistenToTransfers' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "unlistenToTransfers", + functionName: 'unlistenToTransfers', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"upgradeTo"`. */ export function useLTokenUpgradeTo( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeTo", + PrepareWriteContractResult['request']['abi'], + 'upgradeTo', TMode - > & { functionName?: "upgradeTo" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "upgradeTo"; + > & { functionName?: 'upgradeTo' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'upgradeTo' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"upgradeToAndCall"`. */ export function useLTokenUpgradeToAndCall( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeToAndCall", + PrepareWriteContractResult['request']['abi'], + 'upgradeToAndCall', TMode - > & { functionName?: "upgradeToAndCall" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "upgradeToAndCall"; + > & { functionName?: 'upgradeToAndCall' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'upgradeToAndCall' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenABI, - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as any); + } as any) } /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__. */ export function usePrepareLTokenWrite( - config: Omit, "abi"> = {} as any, + config: Omit, 'abi'> = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, ...config } as UsePrepareContractWriteConfig< typeof lTokenABI, TFunctionName - >); + >) } /** @@ -5142,175 +5142,175 @@ export function usePrepareLTokenWrite( */ export function usePrepareLTokenApprove( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "approve", + functionName: 'approve', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processQueuedRequests"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"cancelWithdrawalRequest"`. */ -export function usePrepareLTokenBatchQueuedWithdraw( +export function usePrepareLTokenCancelWithdrawalRequest( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "processQueuedRequests", + functionName: 'cancelWithdrawalRequest', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processBigQueuedRequest"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"claimFees"`. */ -export function usePrepareLTokenprocessBigQueuedRequest( +export function usePrepareLTokenClaimFees( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "processBigQueuedRequest", + functionName: 'claimFees', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"cancelWithdrawalRequest"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"decreaseAllowance"`. */ -export function usePrepareLTokenCancelWithdrawalRequest( +export function usePrepareLTokenDecreaseAllowance( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "cancelWithdrawalRequest", + functionName: 'decreaseAllowance', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"claimFees"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"deposit"`. */ -export function usePrepareLTokenClaimFees( +export function usePrepareLTokenDeposit( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "claimFees", + functionName: 'deposit', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"decreaseAllowance"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"increaseAllowance"`. */ -export function usePrepareLTokenDecreaseAllowance( +export function usePrepareLTokenIncreaseAllowance( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "decreaseAllowance", + functionName: 'increaseAllowance', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"deposit"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"initialize"`. */ -export function usePrepareLTokenDeposit( +export function usePrepareLTokenInitialize( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "deposit", + functionName: 'initialize', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"increaseAllowance"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"instantWithdrawal"`. */ -export function usePrepareLTokenIncreaseAllowance( +export function usePrepareLTokenInstantWithdrawal( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "increaseAllowance", + functionName: 'instantWithdrawal', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"initialize"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"listenToTransfers"`. */ -export function usePrepareLTokenInitialize( +export function usePrepareLTokenListenToTransfers( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "initialize", + functionName: 'listenToTransfers', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"instantWithdrawal"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processBigQueuedRequest"`. */ -export function usePrepareLTokenInstantWithdrawal( +export function usePrepareLTokenProcessBigQueuedRequest( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "instantWithdrawal", + functionName: 'processBigQueuedRequest', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"listenToTransfers"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link lTokenABI}__ and `functionName` set to `"processQueuedRequests"`. */ -export function usePrepareLTokenListenToTransfers( +export function usePrepareLTokenProcessQueuedRequests( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "listenToTransfers", + functionName: 'processQueuedRequests', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5318,15 +5318,15 @@ export function usePrepareLTokenListenToTransfers( */ export function usePrepareLTokenRecoverErc20( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "recoverERC20", + functionName: 'recoverERC20', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5334,15 +5334,15 @@ export function usePrepareLTokenRecoverErc20( */ export function usePrepareLTokenRecoverUnderlying( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "recoverUnderlying", + functionName: 'recoverUnderlying', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5350,15 +5350,15 @@ export function usePrepareLTokenRecoverUnderlying( */ export function usePrepareLTokenRepatriate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "repatriate", + functionName: 'repatriate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5366,15 +5366,15 @@ export function usePrepareLTokenRepatriate( */ export function usePrepareLTokenRequestWithdrawal( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "requestWithdrawal", + functionName: 'requestWithdrawal', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5382,15 +5382,15 @@ export function usePrepareLTokenRequestWithdrawal( */ export function usePrepareLTokenSetApr( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "setAPR", + functionName: 'setAPR', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5398,15 +5398,15 @@ export function usePrepareLTokenSetApr( */ export function usePrepareLTokenSetFeesRate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "setFeesRate", + functionName: 'setFeesRate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5414,15 +5414,15 @@ export function usePrepareLTokenSetFeesRate( */ export function usePrepareLTokenSetFund( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "setFund", + functionName: 'setFund', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5430,15 +5430,15 @@ export function usePrepareLTokenSetFund( */ export function usePrepareLTokenSetLdyStaking( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "setLDYStaking", + functionName: 'setLDYStaking', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5446,15 +5446,15 @@ export function usePrepareLTokenSetLdyStaking( */ export function usePrepareLTokenSetRetentionRate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "setRetentionRate", + functionName: 'setRetentionRate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5462,15 +5462,15 @@ export function usePrepareLTokenSetRetentionRate( */ export function usePrepareLTokenSetWithdrawer( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "setWithdrawer", + functionName: 'setWithdrawer', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5478,15 +5478,15 @@ export function usePrepareLTokenSetWithdrawer( */ export function usePrepareLTokenStartRewardsRedirection( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "startRewardsRedirection", + functionName: 'startRewardsRedirection', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5494,15 +5494,15 @@ export function usePrepareLTokenStartRewardsRedirection( */ export function usePrepareLTokenStopRewardsRedirection( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "stopRewardsRedirection", + functionName: 'stopRewardsRedirection', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5510,15 +5510,15 @@ export function usePrepareLTokenStopRewardsRedirection( */ export function usePrepareLTokenTransfer( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "transfer", + functionName: 'transfer', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5526,15 +5526,15 @@ export function usePrepareLTokenTransfer( */ export function usePrepareLTokenTransferFrom( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "transferFrom", + functionName: 'transferFrom', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5542,15 +5542,15 @@ export function usePrepareLTokenTransferFrom( */ export function usePrepareLTokenUnlistenToTransfers( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "unlistenToTransfers", + functionName: 'unlistenToTransfers', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5558,15 +5558,15 @@ export function usePrepareLTokenUnlistenToTransfers( */ export function usePrepareLTokenUpgradeTo( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -5574,43 +5574,43 @@ export function usePrepareLTokenUpgradeTo( */ export function usePrepareLTokenUpgradeToAndCall( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: lTokenABI, - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link lTokenABI}__. */ export function useLTokenEvent( - config: Omit, "abi"> = {} as any, + config: Omit, 'abi'> = {} as any, ) { return useContractEvent({ abi: lTokenABI, ...config } as UseContractEventConfig< typeof lTokenABI, TEventName - >); + >) } /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link lTokenABI}__ and `eventName` set to `"APRChangeEvent"`. */ -export function useLTokenAprUpdateEventEvent( +export function useLTokenAprChangeEventEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "APRChangeEvent", + eventName: 'APRChangeEvent', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5618,15 +5618,15 @@ export function useLTokenAprUpdateEventEvent( */ export function useLTokenActivityEventEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "ActivityEvent", + eventName: 'ActivityEvent', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5634,15 +5634,15 @@ export function useLTokenActivityEventEvent( */ export function useLTokenAdminChangedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "AdminChanged", + eventName: 'AdminChanged', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5650,15 +5650,15 @@ export function useLTokenAdminChangedEvent( */ export function useLTokenApprovalEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "Approval", + eventName: 'Approval', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5666,15 +5666,15 @@ export function useLTokenApprovalEvent( */ export function useLTokenBeaconUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "BeaconUpgraded", + eventName: 'BeaconUpgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5682,15 +5682,15 @@ export function useLTokenBeaconUpgradedEvent( */ export function useLTokenInitializedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "Initialized", + eventName: 'Initialized', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5698,15 +5698,15 @@ export function useLTokenInitializedEvent( */ export function useLTokenMintedRewardsEventEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "MintedRewardsEvent", + eventName: 'MintedRewardsEvent', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5714,44 +5714,44 @@ export function useLTokenMintedRewardsEventEvent( */ export function useLTokenOwnershipTransferredEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "OwnershipTransferred", + eventName: 'OwnershipTransferred', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link lTokenABI}__ and `eventName` set to `"Paused"`. */ export function useLTokenPausedEvent( - config: Omit, "abi" | "eventName"> = {} as any, + config: Omit, 'abi' | 'eventName'> = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "Paused", + eventName: 'Paused', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link lTokenABI}__ and `eventName` set to `"TVLChangeEvent"`. */ -export function useLTokenTvlUpdateEventEvent( +export function useLTokenTvlChangeEventEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "TVLChangeEvent", + eventName: 'TVLChangeEvent', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5759,15 +5759,15 @@ export function useLTokenTvlUpdateEventEvent( */ export function useLTokenTransferEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "Transfer", + eventName: 'Transfer', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5775,15 +5775,15 @@ export function useLTokenTransferEvent( */ export function useLTokenUnpausedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "Unpaused", + eventName: 'Unpaused', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5791,15 +5791,15 @@ export function useLTokenUnpausedEvent( */ export function useLTokenUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: lTokenABI, - eventName: "Upgraded", + eventName: 'Upgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -5813,14 +5813,14 @@ export function useLTokenSignalerRead< >( config: Omit< UseContractReadConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractRead({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -5829,20 +5829,20 @@ export function useLTokenSignalerRead< * */ export function useLTokenSignalerGlobalOwner< - TFunctionName extends "globalOwner", + TFunctionName extends 'globalOwner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractRead({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "globalOwner", + functionName: 'globalOwner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -5851,20 +5851,20 @@ export function useLTokenSignalerGlobalOwner< * */ export function useLTokenSignalerOwner< - TFunctionName extends "owner", + TFunctionName extends 'owner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractRead({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "owner", + functionName: 'owner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -5873,20 +5873,20 @@ export function useLTokenSignalerOwner< * */ export function useLTokenSignalerProxiableUuid< - TFunctionName extends "proxiableUUID", + TFunctionName extends 'proxiableUUID', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractRead({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "proxiableUUID", + functionName: 'proxiableUUID', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -5895,20 +5895,20 @@ export function useLTokenSignalerProxiableUuid< * */ export function useLTokenSignalerRenounceOwnership< - TFunctionName extends "renounceOwnership", + TFunctionName extends 'renounceOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractRead({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "renounceOwnership", + functionName: 'renounceOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -5917,20 +5917,20 @@ export function useLTokenSignalerRenounceOwnership< * */ export function useLTokenSignalerTransferOwnership< - TFunctionName extends "transferOwnership", + TFunctionName extends 'transferOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractRead({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "transferOwnership", + functionName: 'transferOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -5943,23 +5943,23 @@ export function useLTokenSignalerWrite< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof lTokenSignalerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > & { address?: Address; chainId?: TChainId } : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; + abi?: never + address?: never + chainId?: TChainId } = {} as any, ) { return useContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config, - } as any); + } as any) } /** @@ -5971,25 +5971,25 @@ export function useLTokenSignalerInitialize< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof lTokenSignalerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "initialize", + PrepareWriteContractResult['request']['abi'], + 'initialize', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "initialize" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "initialize"; + > & { address?: Address; chainId?: TChainId; functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'initialize' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as any); + } as any) } /** @@ -6001,25 +6001,25 @@ export function useLTokenSignalerSignalLToken< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof lTokenSignalerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "signalLToken", + PrepareWriteContractResult['request']['abi'], + 'signalLToken', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "signalLToken" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "signalLToken"; + > & { address?: Address; chainId?: TChainId; functionName?: 'signalLToken' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'signalLToken' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "signalLToken", + functionName: 'signalLToken', ...config, - } as any); + } as any) } /** @@ -6031,25 +6031,25 @@ export function useLTokenSignalerUpgradeTo< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof lTokenSignalerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeTo", + PrepareWriteContractResult['request']['abi'], + 'upgradeTo', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeTo" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeTo"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeTo' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeTo' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as any); + } as any) } /** @@ -6061,25 +6061,25 @@ export function useLTokenSignalerUpgradeToAndCall< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof lTokenSignalerAddress, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeToAndCall", + PrepareWriteContractResult['request']['abi'], + 'upgradeToAndCall', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "upgradeToAndCall" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "upgradeToAndCall"; + > & { address?: Address; chainId?: TChainId; functionName?: 'upgradeToAndCall' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'upgradeToAndCall' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as any); + } as any) } /** @@ -6090,14 +6090,14 @@ export function useLTokenSignalerUpgradeToAndCall< export function usePrepareLTokenSignalerWrite( config: Omit< UsePrepareContractWriteConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6107,16 +6107,16 @@ export function usePrepareLTokenSignalerWrite( */ export function usePrepareLTokenSignalerInitialize( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "initialize", + functionName: 'initialize', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6126,16 +6126,16 @@ export function usePrepareLTokenSignalerInitialize( */ export function usePrepareLTokenSignalerSignalLToken( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "signalLToken", + functionName: 'signalLToken', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6145,16 +6145,16 @@ export function usePrepareLTokenSignalerSignalLToken( */ export function usePrepareLTokenSignalerUpgradeTo( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6164,16 +6164,16 @@ export function usePrepareLTokenSignalerUpgradeTo( */ export function usePrepareLTokenSignalerUpgradeToAndCall( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return usePrepareContractWrite({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6182,15 +6182,15 @@ export function usePrepareLTokenSignalerUpgradeToAndCall( * */ export function useLTokenSignalerEvent( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof lTokenSignalerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractEvent({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6200,16 +6200,16 @@ export function useLTokenSignalerEvent( */ export function useLTokenSignalerAdminChangedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractEvent({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - eventName: "AdminChanged", + eventName: 'AdminChanged', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6219,16 +6219,16 @@ export function useLTokenSignalerAdminChangedEvent( */ export function useLTokenSignalerBeaconUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractEvent({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - eventName: "BeaconUpgraded", + eventName: 'BeaconUpgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6238,16 +6238,16 @@ export function useLTokenSignalerBeaconUpgradedEvent( */ export function useLTokenSignalerInitializedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractEvent({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - eventName: "Initialized", + eventName: 'Initialized', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6257,16 +6257,16 @@ export function useLTokenSignalerInitializedEvent( */ export function useLTokenSignalerLTokenSignalEventEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractEvent({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - eventName: "LTokenSignalEvent", + eventName: 'LTokenSignalEvent', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6276,16 +6276,16 @@ export function useLTokenSignalerLTokenSignalEventEvent( */ export function useLTokenSignalerOwnershipTransferredEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractEvent({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - eventName: "OwnershipTransferred", + eventName: 'OwnershipTransferred', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6295,16 +6295,16 @@ export function useLTokenSignalerOwnershipTransferredEvent( */ export function useLTokenSignalerUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "address" | "eventName" + UseContractEventConfig, + 'abi' | 'address' | 'eventName' > & { chainId?: keyof typeof lTokenSignalerAddress } = {} as any, ) { return useContractEvent({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], - eventName: "Upgraded", + eventName: 'Upgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6316,128 +6316,128 @@ export function useGenericErc20Read< >( config: Omit< UseContractReadConfig, - "abi" + 'abi' > = {} as any, ) { return useContractRead({ abi: genericErc20ABI, ...config } as UseContractReadConfig< typeof genericErc20ABI, TFunctionName, TSelectData - >); + >) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"allowance"`. */ export function useGenericErc20Allowance< - TFunctionName extends "allowance", + TFunctionName extends 'allowance', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: genericErc20ABI, - functionName: "allowance", + functionName: 'allowance', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"balanceOf"`. */ export function useGenericErc20BalanceOf< - TFunctionName extends "balanceOf", + TFunctionName extends 'balanceOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: genericErc20ABI, - functionName: "balanceOf", + functionName: 'balanceOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"decimals"`. */ export function useGenericErc20Decimals< - TFunctionName extends "decimals", + TFunctionName extends 'decimals', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: genericErc20ABI, - functionName: "decimals", + functionName: 'decimals', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"name"`. */ export function useGenericErc20Name< - TFunctionName extends "name", + TFunctionName extends 'name', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: genericErc20ABI, - functionName: "name", + functionName: 'name', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"symbol"`. */ export function useGenericErc20Symbol< - TFunctionName extends "symbol", + TFunctionName extends 'symbol', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: genericErc20ABI, - functionName: "symbol", + functionName: 'symbol', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"totalSupply"`. */ export function useGenericErc20TotalSupply< - TFunctionName extends "totalSupply", + TFunctionName extends 'totalSupply', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: genericErc20ABI, - functionName: "totalSupply", + functionName: 'totalSupply', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -6447,218 +6447,218 @@ export function useGenericErc20Write< TFunctionName extends string, TMode extends WriteContractMode = undefined, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > : UseContractWriteConfig & { - abi?: never; + abi?: never } = {} as any, ) { return useContractWrite({ abi: genericErc20ABI, ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"approve"`. */ export function useGenericErc20Approve( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "approve", + PrepareWriteContractResult['request']['abi'], + 'approve', TMode - > & { functionName?: "approve" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "approve"; + > & { functionName?: 'approve' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'approve' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "approve", + functionName: 'approve', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"burn"`. */ export function useGenericErc20Burn( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "burn", + PrepareWriteContractResult['request']['abi'], + 'burn', TMode - > & { functionName?: "burn" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "burn"; + > & { functionName?: 'burn' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'burn' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "burn", + functionName: 'burn', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"burnFrom"`. */ export function useGenericErc20BurnFrom( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "burnFrom", + PrepareWriteContractResult['request']['abi'], + 'burnFrom', TMode - > & { functionName?: "burnFrom" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "burnFrom"; + > & { functionName?: 'burnFrom' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'burnFrom' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "burnFrom", + functionName: 'burnFrom', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"decreaseAllowance"`. */ export function useGenericErc20DecreaseAllowance( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "decreaseAllowance", + PrepareWriteContractResult['request']['abi'], + 'decreaseAllowance', TMode - > & { functionName?: "decreaseAllowance" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "decreaseAllowance"; + > & { functionName?: 'decreaseAllowance' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'decreaseAllowance' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "decreaseAllowance", + functionName: 'decreaseAllowance', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"increaseAllowance"`. */ export function useGenericErc20IncreaseAllowance( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "increaseAllowance", + PrepareWriteContractResult['request']['abi'], + 'increaseAllowance', TMode - > & { functionName?: "increaseAllowance" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "increaseAllowance"; + > & { functionName?: 'increaseAllowance' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'increaseAllowance' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "increaseAllowance", + functionName: 'increaseAllowance', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"mint"`. */ export function useGenericErc20Mint( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "mint", + PrepareWriteContractResult['request']['abi'], + 'mint', TMode - > & { functionName?: "mint" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "mint"; + > & { functionName?: 'mint' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'mint' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "mint", + functionName: 'mint', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"setDecimals"`. */ export function useGenericErc20SetDecimals( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setDecimals", + PrepareWriteContractResult['request']['abi'], + 'setDecimals', TMode - > & { functionName?: "setDecimals" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setDecimals"; + > & { functionName?: 'setDecimals' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setDecimals' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "setDecimals", + functionName: 'setDecimals', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"transfer"`. */ export function useGenericErc20Transfer( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "transfer", + PrepareWriteContractResult['request']['abi'], + 'transfer', TMode - > & { functionName?: "transfer" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "transfer"; + > & { functionName?: 'transfer' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'transfer' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "transfer", + functionName: 'transfer', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link genericErc20ABI}__ and `functionName` set to `"transferFrom"`. */ export function useGenericErc20TransferFrom( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "transferFrom", + PrepareWriteContractResult['request']['abi'], + 'transferFrom', TMode - > & { functionName?: "transferFrom" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "transferFrom"; + > & { functionName?: 'transferFrom' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'transferFrom' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: genericErc20ABI, - functionName: "transferFrom", + functionName: 'transferFrom', ...config, - } as any); + } as any) } /** @@ -6667,13 +6667,13 @@ export function useGenericErc20TransferFrom( config: Omit< UsePrepareContractWriteConfig, - "abi" + 'abi' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6681,15 +6681,15 @@ export function usePrepareGenericErc20Write( */ export function usePrepareGenericErc20Approve( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "approve", + functionName: 'approve', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6697,15 +6697,15 @@ export function usePrepareGenericErc20Approve( */ export function usePrepareGenericErc20Burn( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "burn", + functionName: 'burn', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6713,15 +6713,15 @@ export function usePrepareGenericErc20Burn( */ export function usePrepareGenericErc20BurnFrom( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "burnFrom", + functionName: 'burnFrom', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6729,15 +6729,15 @@ export function usePrepareGenericErc20BurnFrom( */ export function usePrepareGenericErc20DecreaseAllowance( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "decreaseAllowance", + functionName: 'decreaseAllowance', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6745,15 +6745,15 @@ export function usePrepareGenericErc20DecreaseAllowance( */ export function usePrepareGenericErc20IncreaseAllowance( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "increaseAllowance", + functionName: 'increaseAllowance', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6761,15 +6761,15 @@ export function usePrepareGenericErc20IncreaseAllowance( */ export function usePrepareGenericErc20Mint( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "mint", + functionName: 'mint', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6777,15 +6777,15 @@ export function usePrepareGenericErc20Mint( */ export function usePrepareGenericErc20SetDecimals( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "setDecimals", + functionName: 'setDecimals', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6793,15 +6793,15 @@ export function usePrepareGenericErc20SetDecimals( */ export function usePrepareGenericErc20Transfer( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "transfer", + functionName: 'transfer', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -6809,27 +6809,27 @@ export function usePrepareGenericErc20Transfer( */ export function usePrepareGenericErc20TransferFrom( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: genericErc20ABI, - functionName: "transferFrom", + functionName: 'transferFrom', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link genericErc20ABI}__. */ export function useGenericErc20Event( - config: Omit, "abi"> = {} as any, + config: Omit, 'abi'> = {} as any, ) { return useContractEvent({ abi: genericErc20ABI, ...config } as UseContractEventConfig< typeof genericErc20ABI, TEventName - >); + >) } /** @@ -6837,15 +6837,15 @@ export function useGenericErc20Event( */ export function useGenericErc20ApprovalEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: genericErc20ABI, - eventName: "Approval", + eventName: 'Approval', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6853,15 +6853,15 @@ export function useGenericErc20ApprovalEvent( */ export function useGenericErc20TransferEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: genericErc20ABI, - eventName: "Transfer", + eventName: 'Transfer', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -6873,432 +6873,432 @@ export function useWipLdyStakingRead< >( config: Omit< UseContractReadConfig, - "abi" + 'abi' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, ...config } as UseContractReadConfig< typeof wipLdyStakingABI, TFunctionName, TSelectData - >); + >) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"getAPR"`. */ export function useWipLdyStakingGetApr< - TFunctionName extends "getAPR", + TFunctionName extends 'getAPR', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "getAPR", + functionName: 'getAPR', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"getNewLockEndFor"`. */ export function useWipLdyStakingGetNewLockEndFor< - TFunctionName extends "getNewLockEndFor", + TFunctionName extends 'getNewLockEndFor', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "getNewLockEndFor", + functionName: 'getNewLockEndFor', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"getTier"`. */ export function useWipLdyStakingGetTier< - TFunctionName extends "getTier", + TFunctionName extends 'getTier', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "getTier", + functionName: 'getTier', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"globalBlacklist"`. */ export function useWipLdyStakingGlobalBlacklist< - TFunctionName extends "globalBlacklist", + TFunctionName extends 'globalBlacklist', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "globalBlacklist", + functionName: 'globalBlacklist', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"globalOwner"`. */ export function useWipLdyStakingGlobalOwner< - TFunctionName extends "globalOwner", + TFunctionName extends 'globalOwner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "globalOwner", + functionName: 'globalOwner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"globalPause"`. */ export function useWipLdyStakingGlobalPause< - TFunctionName extends "globalPause", + TFunctionName extends 'globalPause', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "globalPause", + functionName: 'globalPause', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"invested"`. */ export function useWipLdyStakingInvested< - TFunctionName extends "invested", + TFunctionName extends 'invested', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "invested", + functionName: 'invested', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"lockEndOf"`. */ export function useWipLdyStakingLockEndOf< - TFunctionName extends "lockEndOf", + TFunctionName extends 'lockEndOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "lockEndOf", + functionName: 'lockEndOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"owner"`. */ export function useWipLdyStakingOwner< - TFunctionName extends "owner", + TFunctionName extends 'owner', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "owner", + functionName: 'owner', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"paused"`. */ export function useWipLdyStakingPaused< - TFunctionName extends "paused", + TFunctionName extends 'paused', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "paused", + functionName: 'paused', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"proxiableUUID"`. */ export function useWipLdyStakingProxiableUuid< - TFunctionName extends "proxiableUUID", + TFunctionName extends 'proxiableUUID', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "proxiableUUID", + functionName: 'proxiableUUID', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"renounceOwnership"`. */ export function useWipLdyStakingRenounceOwnership< - TFunctionName extends "renounceOwnership", + TFunctionName extends 'renounceOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "renounceOwnership", + functionName: 'renounceOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"rewardsOf"`. */ export function useWipLdyStakingRewardsOf< - TFunctionName extends "rewardsOf", + TFunctionName extends 'rewardsOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "rewardsOf", + functionName: 'rewardsOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"rewardsRedirectsFromTo"`. */ export function useWipLdyStakingRewardsRedirectsFromTo< - TFunctionName extends "rewardsRedirectsFromTo", + TFunctionName extends 'rewardsRedirectsFromTo', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "rewardsRedirectsFromTo", + functionName: 'rewardsRedirectsFromTo', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"rewardsRedirectsToFrom"`. */ export function useWipLdyStakingRewardsRedirectsToFrom< - TFunctionName extends "rewardsRedirectsToFrom", + TFunctionName extends 'rewardsRedirectsToFrom', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "rewardsRedirectsToFrom", + functionName: 'rewardsRedirectsToFrom', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"rewardsReserve"`. */ export function useWipLdyStakingRewardsReserve< - TFunctionName extends "rewardsReserve", + TFunctionName extends 'rewardsReserve', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "rewardsReserve", + functionName: 'rewardsReserve', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"stakeLockDuration"`. */ export function useWipLdyStakingStakeLockDuration< - TFunctionName extends "stakeLockDuration", + TFunctionName extends 'stakeLockDuration', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "stakeLockDuration", + functionName: 'stakeLockDuration', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"stakeOf"`. */ export function useWipLdyStakingStakeOf< - TFunctionName extends "stakeOf", + TFunctionName extends 'stakeOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "stakeOf", + functionName: 'stakeOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"tierOf"`. */ export function useWipLdyStakingTierOf< - TFunctionName extends "tierOf", + TFunctionName extends 'tierOf', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "tierOf", + functionName: 'tierOf', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"totalStaked"`. */ export function useWipLdyStakingTotalStaked< - TFunctionName extends "totalStaked", + TFunctionName extends 'totalStaked', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "totalStaked", + functionName: 'totalStaked', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"transferOwnership"`. */ export function useWipLdyStakingTransferOwnership< - TFunctionName extends "transferOwnership", + TFunctionName extends 'transferOwnership', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "transferOwnership", + functionName: 'transferOwnership', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"unlockFeesRateUD7x3"`. */ export function useWipLdyStakingUnlockFeesRateUd7x3< - TFunctionName extends "unlockFeesRateUD7x3", + TFunctionName extends 'unlockFeesRateUD7x3', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "functionName" + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: wipLdyStakingABI, - functionName: "unlockFeesRateUD7x3", + functionName: 'unlockFeesRateUD7x3', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -7308,265 +7308,265 @@ export function useWipLdyStakingWrite< TFunctionName extends string, TMode extends WriteContractMode = undefined, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > : UseContractWriteConfig & { - abi?: never; + abi?: never } = {} as any, ) { return useContractWrite({ abi: wipLdyStakingABI, ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"claim"`. */ export function useWipLdyStakingClaim( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "claim", + PrepareWriteContractResult['request']['abi'], + 'claim', TMode - > & { functionName?: "claim" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "claim"; + > & { functionName?: 'claim' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'claim' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "claim", + functionName: 'claim', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"compound"`. */ export function useWipLdyStakingCompound( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "compound", + PrepareWriteContractResult['request']['abi'], + 'compound', TMode - > & { functionName?: "compound" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "compound"; + > & { functionName?: 'compound' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'compound' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "compound", + functionName: 'compound', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"fuel"`. */ export function useWipLdyStakingFuel( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "fuel", + PrepareWriteContractResult['request']['abi'], + 'fuel', TMode - > & { functionName?: "fuel" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "fuel"; + > & { functionName?: 'fuel' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'fuel' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "fuel", + functionName: 'fuel', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"initialize"`. */ export function useWipLdyStakingInitialize( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "initialize", + PrepareWriteContractResult['request']['abi'], + 'initialize', TMode - > & { functionName?: "initialize" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "initialize"; + > & { functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'initialize' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "initialize", + functionName: 'initialize', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"recoverERC20"`. */ export function useWipLdyStakingRecoverErc20( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "recoverERC20", + PrepareWriteContractResult['request']['abi'], + 'recoverERC20', TMode - > & { functionName?: "recoverERC20" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "recoverERC20"; + > & { functionName?: 'recoverERC20' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'recoverERC20' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "recoverERC20", + functionName: 'recoverERC20', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"recoverLDY"`. */ export function useWipLdyStakingRecoverLdy( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "recoverLDY", + PrepareWriteContractResult['request']['abi'], + 'recoverLDY', TMode - > & { functionName?: "recoverLDY" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "recoverLDY"; + > & { functionName?: 'recoverLDY' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'recoverLDY' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "recoverLDY", + functionName: 'recoverLDY', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"setAPR"`. */ export function useWipLdyStakingSetApr( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setAPR", + PrepareWriteContractResult['request']['abi'], + 'setAPR', TMode - > & { functionName?: "setAPR" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setAPR"; + > & { functionName?: 'setAPR' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setAPR' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "setAPR", + functionName: 'setAPR', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"setStakeLockDuration"`. */ export function useWipLdyStakingSetStakeLockDuration( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< PrepareWriteContractResult< typeof wipLdyStakingABI, - "setStakeLockDuration" - >["request"]["abi"], - "setStakeLockDuration", + 'setStakeLockDuration' + >['request']['abi'], + 'setStakeLockDuration', TMode - > & { functionName?: "setStakeLockDuration" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setStakeLockDuration"; + > & { functionName?: 'setStakeLockDuration' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setStakeLockDuration' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "setStakeLockDuration", + functionName: 'setStakeLockDuration', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"setTier"`. */ export function useWipLdyStakingSetTier( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setTier", + PrepareWriteContractResult['request']['abi'], + 'setTier', TMode - > & { functionName?: "setTier" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setTier"; + > & { functionName?: 'setTier' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setTier' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "setTier", + functionName: 'setTier', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"setUnlockFeesRate"`. */ export function useWipLdyStakingSetUnlockFeesRate( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "setUnlockFeesRate", + PrepareWriteContractResult['request']['abi'], + 'setUnlockFeesRate', TMode - > & { functionName?: "setUnlockFeesRate" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "setUnlockFeesRate"; + > & { functionName?: 'setUnlockFeesRate' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setUnlockFeesRate' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "setUnlockFeesRate", + functionName: 'setUnlockFeesRate', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"stake"`. */ export function useWipLdyStakingStake( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "stake", + PrepareWriteContractResult['request']['abi'], + 'stake', TMode - > & { functionName?: "stake" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "stake"; + > & { functionName?: 'stake' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'stake' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "stake", + functionName: 'stake', ...config, - } as any); + } as any) } /** @@ -7575,138 +7575,138 @@ export function useWipLdyStakingStake( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< PrepareWriteContractResult< typeof wipLdyStakingABI, - "startRewardsRedirection" - >["request"]["abi"], - "startRewardsRedirection", + 'startRewardsRedirection' + >['request']['abi'], + 'startRewardsRedirection', TMode - > & { functionName?: "startRewardsRedirection" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "startRewardsRedirection"; + > & { functionName?: 'startRewardsRedirection' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'startRewardsRedirection' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "startRewardsRedirection", + functionName: 'startRewardsRedirection', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"stopRewardsRedirection"`. */ export function useWipLdyStakingStopRewardsRedirection( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< PrepareWriteContractResult< typeof wipLdyStakingABI, - "stopRewardsRedirection" - >["request"]["abi"], - "stopRewardsRedirection", + 'stopRewardsRedirection' + >['request']['abi'], + 'stopRewardsRedirection', TMode - > & { functionName?: "stopRewardsRedirection" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "stopRewardsRedirection"; + > & { functionName?: 'stopRewardsRedirection' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'stopRewardsRedirection' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "stopRewardsRedirection", + functionName: 'stopRewardsRedirection', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"unlock"`. */ export function useWipLdyStakingUnlock( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "unlock", + PrepareWriteContractResult['request']['abi'], + 'unlock', TMode - > & { functionName?: "unlock" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "unlock"; + > & { functionName?: 'unlock' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'unlock' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "unlock", + functionName: 'unlock', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"unstake"`. */ export function useWipLdyStakingUnstake( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "unstake", + PrepareWriteContractResult['request']['abi'], + 'unstake', TMode - > & { functionName?: "unstake" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "unstake"; + > & { functionName?: 'unstake' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'unstake' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "unstake", + functionName: 'unstake', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"upgradeTo"`. */ export function useWipLdyStakingUpgradeTo( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeTo", + PrepareWriteContractResult['request']['abi'], + 'upgradeTo', TMode - > & { functionName?: "upgradeTo" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "upgradeTo"; + > & { functionName?: 'upgradeTo' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'upgradeTo' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link wipLdyStakingABI}__ and `functionName` set to `"upgradeToAndCall"`. */ export function useWipLdyStakingUpgradeToAndCall( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "upgradeToAndCall", + PrepareWriteContractResult['request']['abi'], + 'upgradeToAndCall', TMode - > & { functionName?: "upgradeToAndCall" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "upgradeToAndCall"; + > & { functionName?: 'upgradeToAndCall' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'upgradeToAndCall' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: wipLdyStakingABI, - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as any); + } as any) } /** @@ -7715,13 +7715,13 @@ export function useWipLdyStakingUpgradeToAndCall( config: Omit< UsePrepareContractWriteConfig, - "abi" + 'abi' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7729,15 +7729,15 @@ export function usePrepareWipLdyStakingWrite( */ export function usePrepareWipLdyStakingClaim( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "claim", + functionName: 'claim', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7745,15 +7745,15 @@ export function usePrepareWipLdyStakingClaim( */ export function usePrepareWipLdyStakingCompound( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "compound", + functionName: 'compound', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7761,15 +7761,15 @@ export function usePrepareWipLdyStakingCompound( */ export function usePrepareWipLdyStakingFuel( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "fuel", + functionName: 'fuel', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7777,15 +7777,15 @@ export function usePrepareWipLdyStakingFuel( */ export function usePrepareWipLdyStakingInitialize( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "initialize", + functionName: 'initialize', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7793,15 +7793,15 @@ export function usePrepareWipLdyStakingInitialize( */ export function usePrepareWipLdyStakingRecoverErc20( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "recoverERC20", + functionName: 'recoverERC20', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7809,15 +7809,15 @@ export function usePrepareWipLdyStakingRecoverErc20( */ export function usePrepareWipLdyStakingRecoverLdy( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "recoverLDY", + functionName: 'recoverLDY', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7825,15 +7825,15 @@ export function usePrepareWipLdyStakingRecoverLdy( */ export function usePrepareWipLdyStakingSetApr( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "setAPR", + functionName: 'setAPR', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7841,15 +7841,15 @@ export function usePrepareWipLdyStakingSetApr( */ export function usePrepareWipLdyStakingSetStakeLockDuration( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "setStakeLockDuration", + functionName: 'setStakeLockDuration', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7857,15 +7857,15 @@ export function usePrepareWipLdyStakingSetStakeLockDuration( */ export function usePrepareWipLdyStakingSetTier( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "setTier", + functionName: 'setTier', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7873,15 +7873,15 @@ export function usePrepareWipLdyStakingSetTier( */ export function usePrepareWipLdyStakingSetUnlockFeesRate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "setUnlockFeesRate", + functionName: 'setUnlockFeesRate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7889,15 +7889,15 @@ export function usePrepareWipLdyStakingSetUnlockFeesRate( */ export function usePrepareWipLdyStakingStake( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "stake", + functionName: 'stake', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7905,15 +7905,15 @@ export function usePrepareWipLdyStakingStake( */ export function usePrepareWipLdyStakingStartRewardsRedirection( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "startRewardsRedirection", + functionName: 'startRewardsRedirection', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7921,15 +7921,15 @@ export function usePrepareWipLdyStakingStartRewardsRedirection( */ export function usePrepareWipLdyStakingStopRewardsRedirection( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "stopRewardsRedirection", + functionName: 'stopRewardsRedirection', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7937,15 +7937,15 @@ export function usePrepareWipLdyStakingStopRewardsRedirection( */ export function usePrepareWipLdyStakingUnlock( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "unlock", + functionName: 'unlock', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7953,15 +7953,15 @@ export function usePrepareWipLdyStakingUnlock( */ export function usePrepareWipLdyStakingUnstake( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "unstake", + functionName: 'unstake', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7969,15 +7969,15 @@ export function usePrepareWipLdyStakingUnstake( */ export function usePrepareWipLdyStakingUpgradeTo( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "upgradeTo", + functionName: 'upgradeTo', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -7985,43 +7985,43 @@ export function usePrepareWipLdyStakingUpgradeTo( */ export function usePrepareWipLdyStakingUpgradeToAndCall( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: wipLdyStakingABI, - functionName: "upgradeToAndCall", + functionName: 'upgradeToAndCall', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link wipLdyStakingABI}__. */ export function useWipLdyStakingEvent( - config: Omit, "abi"> = {} as any, + config: Omit, 'abi'> = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, ...config } as UseContractEventConfig< typeof wipLdyStakingABI, TEventName - >); + >) } /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link wipLdyStakingABI}__ and `eventName` set to `"APRChangeEvent"`. */ -export function useWipLdyStakingAprUpdateEventEvent( +export function useWipLdyStakingAprChangeEventEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "APRChangeEvent", + eventName: 'APRChangeEvent', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8029,15 +8029,15 @@ export function useWipLdyStakingAprUpdateEventEvent( */ export function useWipLdyStakingAdminChangedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "AdminChanged", + eventName: 'AdminChanged', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8045,15 +8045,15 @@ export function useWipLdyStakingAdminChangedEvent( */ export function useWipLdyStakingBeaconUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "BeaconUpgraded", + eventName: 'BeaconUpgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8061,15 +8061,15 @@ export function useWipLdyStakingBeaconUpgradedEvent( */ export function useWipLdyStakingInitializedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "Initialized", + eventName: 'Initialized', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8077,15 +8077,15 @@ export function useWipLdyStakingInitializedEvent( */ export function useWipLdyStakingOwnershipTransferredEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "OwnershipTransferred", + eventName: 'OwnershipTransferred', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8093,15 +8093,15 @@ export function useWipLdyStakingOwnershipTransferredEvent( */ export function useWipLdyStakingPausedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "Paused", + eventName: 'Paused', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8109,15 +8109,15 @@ export function useWipLdyStakingPausedEvent( */ export function useWipLdyStakingTotalStakedUpdateEventEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "TotalStakedUpdateEvent", + eventName: 'TotalStakedUpdateEvent', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8125,15 +8125,15 @@ export function useWipLdyStakingTotalStakedUpdateEventEvent( */ export function useWipLdyStakingUnpausedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "Unpaused", + eventName: 'Unpaused', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8141,15 +8141,15 @@ export function useWipLdyStakingUnpausedEvent( */ export function useWipLdyStakingUpgradedEvent( config: Omit< - UseContractEventConfig, - "abi" | "eventName" + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { return useContractEvent({ abi: wipLdyStakingABI, - eventName: "Upgraded", + eventName: 'Upgraded', ...config, - } as UseContractEventConfig); + } as UseContractEventConfig) } /** @@ -8166,16 +8166,16 @@ export function useMulticall3Read< >( config: Omit< UseContractReadConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8187,22 +8187,22 @@ export function useMulticall3Read< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetBasefee< - TFunctionName extends "getBasefee", + TFunctionName extends 'getBasefee', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getBasefee", + functionName: 'getBasefee', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8214,22 +8214,22 @@ export function useMulticall3GetBasefee< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetBlockHash< - TFunctionName extends "getBlockHash", + TFunctionName extends 'getBlockHash', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getBlockHash", + functionName: 'getBlockHash', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8241,22 +8241,22 @@ export function useMulticall3GetBlockHash< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetBlockNumber< - TFunctionName extends "getBlockNumber", + TFunctionName extends 'getBlockNumber', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getBlockNumber", + functionName: 'getBlockNumber', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8268,22 +8268,22 @@ export function useMulticall3GetBlockNumber< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetChainId< - TFunctionName extends "getChainId", + TFunctionName extends 'getChainId', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getChainId", + functionName: 'getChainId', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8295,22 +8295,22 @@ export function useMulticall3GetChainId< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetCurrentBlockCoinbase< - TFunctionName extends "getCurrentBlockCoinbase", + TFunctionName extends 'getCurrentBlockCoinbase', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getCurrentBlockCoinbase", + functionName: 'getCurrentBlockCoinbase', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8322,22 +8322,22 @@ export function useMulticall3GetCurrentBlockCoinbase< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetCurrentBlockDifficulty< - TFunctionName extends "getCurrentBlockDifficulty", + TFunctionName extends 'getCurrentBlockDifficulty', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getCurrentBlockDifficulty", + functionName: 'getCurrentBlockDifficulty', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8349,22 +8349,22 @@ export function useMulticall3GetCurrentBlockDifficulty< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetCurrentBlockGasLimit< - TFunctionName extends "getCurrentBlockGasLimit", + TFunctionName extends 'getCurrentBlockGasLimit', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getCurrentBlockGasLimit", + functionName: 'getCurrentBlockGasLimit', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8376,22 +8376,22 @@ export function useMulticall3GetCurrentBlockGasLimit< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetCurrentBlockTimestamp< - TFunctionName extends "getCurrentBlockTimestamp", + TFunctionName extends 'getCurrentBlockTimestamp', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getCurrentBlockTimestamp", + functionName: 'getCurrentBlockTimestamp', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8403,22 +8403,22 @@ export function useMulticall3GetCurrentBlockTimestamp< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetEthBalance< - TFunctionName extends "getEthBalance", + TFunctionName extends 'getEthBalance', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getEthBalance", + functionName: 'getEthBalance', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8430,22 +8430,22 @@ export function useMulticall3GetEthBalance< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function useMulticall3GetLastBlockHash< - TFunctionName extends "getLastBlockHash", + TFunctionName extends 'getLastBlockHash', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - "abi" | "address" | "functionName" + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractRead({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "getLastBlockHash", + functionName: 'getLastBlockHash', ...config, - } as UseContractReadConfig); + } as UseContractReadConfig) } /** @@ -8461,25 +8461,25 @@ export function useMulticall3Write< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof multicall3Address, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > & { address?: Address; chainId?: TChainId } : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; + abi?: never + address?: never + chainId?: TChainId } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return useContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], ...config, - } as any); + } as any) } /** @@ -8494,27 +8494,27 @@ export function useMulticall3Aggregate< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof multicall3Address, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "aggregate", + PrepareWriteContractResult['request']['abi'], + 'aggregate', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "aggregate" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "aggregate"; + > & { address?: Address; chainId?: TChainId; functionName?: 'aggregate' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'aggregate' } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; - return useContractWrite({ + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id + return useContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "aggregate", + functionName: 'aggregate', ...config, - } as any); + } as any) } /** @@ -8529,27 +8529,27 @@ export function useMulticall3Aggregate3< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof multicall3Address, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "aggregate3", + PrepareWriteContractResult['request']['abi'], + 'aggregate3', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "aggregate3" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "aggregate3"; + > & { address?: Address; chainId?: TChainId; functionName?: 'aggregate3' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'aggregate3' } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; - return useContractWrite({ + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id + return useContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "aggregate3", + functionName: 'aggregate3', ...config, - } as any); + } as any) } /** @@ -8564,27 +8564,27 @@ export function useMulticall3Aggregate3Value< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof multicall3Address, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "aggregate3Value", + PrepareWriteContractResult['request']['abi'], + 'aggregate3Value', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "aggregate3Value" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "aggregate3Value"; + > & { address?: Address; chainId?: TChainId; functionName?: 'aggregate3Value' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'aggregate3Value' } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; - return useContractWrite({ + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id + return useContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "aggregate3Value", + functionName: 'aggregate3Value', ...config, - } as any); + } as any) } /** @@ -8599,27 +8599,27 @@ export function useMulticall3BlockAndAggregate< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof multicall3Address, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "blockAndAggregate", + PrepareWriteContractResult['request']['abi'], + 'blockAndAggregate', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "blockAndAggregate" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "blockAndAggregate"; + > & { address?: Address; chainId?: TChainId; functionName?: 'blockAndAggregate' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'blockAndAggregate' } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; - return useContractWrite({ + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id + return useContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "blockAndAggregate", + functionName: 'blockAndAggregate', ...config, - } as any); + } as any) } /** @@ -8634,27 +8634,27 @@ export function useMulticall3TryAggregate< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof multicall3Address, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "tryAggregate", + PrepareWriteContractResult['request']['abi'], + 'tryAggregate', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "tryAggregate" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "tryAggregate"; + > & { address?: Address; chainId?: TChainId; functionName?: 'tryAggregate' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'tryAggregate' } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; - return useContractWrite({ + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id + return useContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "tryAggregate", + functionName: 'tryAggregate', ...config, - } as any); + } as any) } /** @@ -8669,27 +8669,27 @@ export function useMulticall3TryBlockAndAggregate< TMode extends WriteContractMode = undefined, TChainId extends number = keyof typeof multicall3Address, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], - "tryBlockAndAggregate", + PrepareWriteContractResult['request']['abi'], + 'tryBlockAndAggregate', TMode - > & { address?: Address; chainId?: TChainId; functionName?: "tryBlockAndAggregate" } - : UseContractWriteConfig & { - abi?: never; - address?: never; - chainId?: TChainId; - functionName?: "tryBlockAndAggregate"; + > & { address?: Address; chainId?: TChainId; functionName?: 'tryBlockAndAggregate' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'tryBlockAndAggregate' } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; - return useContractWrite({ + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id + return useContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "tryBlockAndAggregate", + functionName: 'tryBlockAndAggregate', ...config, - } as any); + } as any) } /** @@ -8703,16 +8703,16 @@ export function useMulticall3TryBlockAndAggregate< export function usePrepareMulticall3Write( config: Omit< UsePrepareContractWriteConfig, - "abi" | "address" + 'abi' | 'address' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return usePrepareContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8725,18 +8725,18 @@ export function usePrepareMulticall3Write( */ export function usePrepareMulticall3Aggregate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return usePrepareContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "aggregate", + functionName: 'aggregate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8749,18 +8749,18 @@ export function usePrepareMulticall3Aggregate( */ export function usePrepareMulticall3Aggregate3( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return usePrepareContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "aggregate3", + functionName: 'aggregate3', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8773,18 +8773,18 @@ export function usePrepareMulticall3Aggregate3( */ export function usePrepareMulticall3Aggregate3Value( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return usePrepareContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "aggregate3Value", + functionName: 'aggregate3Value', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8797,18 +8797,18 @@ export function usePrepareMulticall3Aggregate3Value( */ export function usePrepareMulticall3BlockAndAggregate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return usePrepareContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "blockAndAggregate", + functionName: 'blockAndAggregate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8821,18 +8821,18 @@ export function usePrepareMulticall3BlockAndAggregate( */ export function usePrepareMulticall3TryAggregate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return usePrepareContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "tryAggregate", + functionName: 'tryAggregate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8845,18 +8845,18 @@ export function usePrepareMulticall3TryAggregate( */ export function usePrepareMulticall3TryBlockAndAggregate( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "address" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof multicall3Address } = {} as any, ) { - const { chain } = useNetwork(); - const chainId = config.chainId ?? chain?.id; + const { chain } = useNetwork() + const chainId = config.chainId ?? chain?.id return usePrepareContractWrite({ abi: multicall3ABI, address: multicall3Address[chainId as keyof typeof multicall3Address], - functionName: "tryBlockAndAggregate", + functionName: 'tryBlockAndAggregate', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8866,45 +8866,45 @@ export function useITransfersListenerWrite< TFunctionName extends string, TMode extends WriteContractMode = undefined, >( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< - PrepareWriteContractResult["request"]["abi"], + PrepareWriteContractResult['request']['abi'], TFunctionName, TMode > : UseContractWriteConfig & { - abi?: never; + abi?: never } = {} as any, ) { return useContractWrite({ abi: iTransfersListenerABI, ...config, - } as any); + } as any) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTransfersListenerABI}__ and `functionName` set to `"onLTokenTransfer"`. */ export function useITransfersListenerOnLTokenTransfer( - config: TMode extends "prepared" + config: TMode extends 'prepared' ? UseContractWriteConfig< PrepareWriteContractResult< typeof iTransfersListenerABI, - "onLTokenTransfer" - >["request"]["abi"], - "onLTokenTransfer", + 'onLTokenTransfer' + >['request']['abi'], + 'onLTokenTransfer', TMode - > & { functionName?: "onLTokenTransfer" } - : UseContractWriteConfig & { - abi?: never; - functionName?: "onLTokenTransfer"; + > & { functionName?: 'onLTokenTransfer' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'onLTokenTransfer' } = {} as any, ) { - return useContractWrite({ + return useContractWrite({ abi: iTransfersListenerABI, - functionName: "onLTokenTransfer", + functionName: 'onLTokenTransfer', ...config, - } as any); + } as any) } /** @@ -8913,13 +8913,13 @@ export function useITransfersListenerOnLTokenTransfer( config: Omit< UsePrepareContractWriteConfig, - "abi" + 'abi' > = {} as any, ) { return usePrepareContractWrite({ abi: iTransfersListenerABI, ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } /** @@ -8927,15 +8927,15 @@ export function usePrepareITransfersListenerWrite( */ export function usePrepareITransfersListenerOnLTokenTransfer( config: Omit< - UsePrepareContractWriteConfig, - "abi" | "functionName" + UsePrepareContractWriteConfig, + 'abi' | 'functionName' > = {} as any, ) { return usePrepareContractWrite({ abi: iTransfersListenerABI, - functionName: "onLTokenTransfer", + functionName: 'onLTokenTransfer', ...config, - } as UsePrepareContractWriteConfig); + } as UsePrepareContractWriteConfig) } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -8948,9 +8948,9 @@ export function usePrepareITransfersListenerOnLTokenTransfer( * */ export function getLdyStaking( - config: Omit & { chainId?: keyof typeof ldyStakingAddress }, + config: Omit & { chainId?: keyof typeof ldyStakingAddress }, ) { - return getContract({ abi: ldyStakingABI, address: ldyStakingAddress[31337], ...config }); + return getContract({ abi: ldyStakingABI, address: ldyStakingAddress[31337], ...config }) } /** @@ -8962,15 +8962,15 @@ export function readLdyStaking< TAbi extends readonly unknown[] = typeof ldyStakingABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof ldyStakingAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof ldyStakingAddress }, ) { return readContract({ abi: ldyStakingABI, address: ldyStakingAddress[31337], ...config, - } as unknown as ReadContractConfig); + } as unknown as ReadContractConfig) } /** @@ -8979,15 +8979,11 @@ export function readLdyStaking< * */ export function getGlobalBlacklist( - config: Omit & { - chainId?: keyof typeof globalBlacklistAddress; + config: Omit & { + chainId?: keyof typeof globalBlacklistAddress }, ) { - return getContract({ - abi: globalBlacklistABI, - address: globalBlacklistAddress[31337], - ...config, - }); + return getContract({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config }) } /** @@ -8999,15 +8995,15 @@ export function readGlobalBlacklist< TAbi extends readonly unknown[] = typeof globalBlacklistABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalBlacklistAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalBlacklistAddress }, ) { return readContract({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config, - } as unknown as ReadContractConfig); + } as unknown as ReadContractConfig) } /** @@ -9023,24 +9019,24 @@ export function writeGlobalBlacklist< config: | (Omit< WriteContractPreparedArgs, - "abi" | "address" + 'abi' | 'address' > & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof globalBlacklistAddress; + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof globalBlacklistAddress }) | (Omit< WriteContractUnpreparedArgs, - "abi" | "address" + 'abi' | 'address' > & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof globalBlacklistAddress; + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof globalBlacklistAddress }), ) { return writeContract({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config, - } as unknown as WriteContractArgs); + } as unknown as WriteContractArgs) } /** @@ -9052,15 +9048,15 @@ export function prepareWriteGlobalBlacklist< TAbi extends readonly unknown[] = typeof globalBlacklistABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalBlacklistAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalBlacklistAddress }, ) { return prepareWriteContract({ abi: globalBlacklistABI, address: globalBlacklistAddress[31337], ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** @@ -9072,8 +9068,8 @@ export function watchGlobalBlacklistEvent< TAbi extends readonly unknown[] = typeof globalBlacklistABI, TEventName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalBlacklistAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalBlacklistAddress }, callback: WatchContractEventCallback, ) { @@ -9084,7 +9080,7 @@ export function watchGlobalBlacklistEvent< ...config, } as WatchContractEventConfig, callback, - ); + ) } /** @@ -9093,9 +9089,9 @@ export function watchGlobalBlacklistEvent< * */ export function getGlobalOwner( - config: Omit & { chainId?: keyof typeof globalOwnerAddress }, + config: Omit & { chainId?: keyof typeof globalOwnerAddress }, ) { - return getContract({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config }); + return getContract({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config }) } /** @@ -9107,15 +9103,15 @@ export function readGlobalOwner< TAbi extends readonly unknown[] = typeof globalOwnerABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalOwnerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalOwnerAddress }, ) { return readContract({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config, - } as unknown as ReadContractConfig); + } as unknown as ReadContractConfig) } /** @@ -9129,23 +9125,23 @@ export function writeGlobalOwner< TChainId extends number = keyof typeof globalOwnerAddress, >( config: - | (Omit, "abi" | "address"> & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof globalOwnerAddress; + | (Omit, 'abi' | 'address'> & { + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof globalOwnerAddress }) | (Omit< WriteContractUnpreparedArgs, - "abi" | "address" + 'abi' | 'address' > & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof globalOwnerAddress; + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof globalOwnerAddress }), ) { return writeContract({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config, - } as unknown as WriteContractArgs); + } as unknown as WriteContractArgs) } /** @@ -9157,15 +9153,15 @@ export function prepareWriteGlobalOwner< TAbi extends readonly unknown[] = typeof globalOwnerABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalOwnerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalOwnerAddress }, ) { return prepareWriteContract({ abi: globalOwnerABI, address: globalOwnerAddress[31337], ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** @@ -9177,8 +9173,8 @@ export function watchGlobalOwnerEvent< TAbi extends readonly unknown[] = typeof globalOwnerABI, TEventName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalOwnerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalOwnerAddress }, callback: WatchContractEventCallback, ) { @@ -9189,7 +9185,7 @@ export function watchGlobalOwnerEvent< ...config, } as WatchContractEventConfig, callback, - ); + ) } /** @@ -9198,9 +9194,9 @@ export function watchGlobalOwnerEvent< * */ export function getGlobalPause( - config: Omit & { chainId?: keyof typeof globalPauseAddress }, + config: Omit & { chainId?: keyof typeof globalPauseAddress }, ) { - return getContract({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config }); + return getContract({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config }) } /** @@ -9212,15 +9208,15 @@ export function readGlobalPause< TAbi extends readonly unknown[] = typeof globalPauseABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalPauseAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalPauseAddress }, ) { return readContract({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config, - } as unknown as ReadContractConfig); + } as unknown as ReadContractConfig) } /** @@ -9234,23 +9230,23 @@ export function writeGlobalPause< TChainId extends number = keyof typeof globalPauseAddress, >( config: - | (Omit, "abi" | "address"> & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof globalPauseAddress; + | (Omit, 'abi' | 'address'> & { + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof globalPauseAddress }) | (Omit< WriteContractUnpreparedArgs, - "abi" | "address" + 'abi' | 'address' > & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof globalPauseAddress; + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof globalPauseAddress }), ) { return writeContract({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config, - } as unknown as WriteContractArgs); + } as unknown as WriteContractArgs) } /** @@ -9262,15 +9258,15 @@ export function prepareWriteGlobalPause< TAbi extends readonly unknown[] = typeof globalPauseABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalPauseAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalPauseAddress }, ) { return prepareWriteContract({ abi: globalPauseABI, address: globalPauseAddress[31337], ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** @@ -9282,8 +9278,8 @@ export function watchGlobalPauseEvent< TAbi extends readonly unknown[] = typeof globalPauseABI, TEventName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof globalPauseAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof globalPauseAddress }, callback: WatchContractEventCallback, ) { @@ -9294,14 +9290,14 @@ export function watchGlobalPauseEvent< ...config, } as WatchContractEventConfig, callback, - ); + ) } /** * Wraps __{@link getContract}__ with `abi` set to __{@link lTokenABI}__. */ -export function getLToken(config: Omit) { - return getContract({ abi: lTokenABI, ...config }); +export function getLToken(config: Omit) { + return getContract({ abi: lTokenABI, ...config }) } /** @@ -9310,11 +9306,11 @@ export function getLToken(config: Omit) { export function readLToken< TAbi extends readonly unknown[] = typeof lTokenABI, TFunctionName extends string = string, ->(config: Omit, "abi">) { +>(config: Omit, 'abi'>) { return readContract({ abi: lTokenABI, ...config } as unknown as ReadContractConfig< TAbi, TFunctionName - >); + >) } /** @@ -9322,13 +9318,13 @@ export function readLToken< */ export function writeLToken( config: - | Omit, "abi"> - | Omit, "abi">, + | Omit, 'abi'> + | Omit, 'abi'>, ) { return writeContract({ abi: lTokenABI, ...config } as unknown as WriteContractArgs< typeof lTokenABI, TFunctionName - >); + >) } /** @@ -9337,11 +9333,11 @@ export function writeLToken( export function prepareWriteLToken< TAbi extends readonly unknown[] = typeof lTokenABI, TFunctionName extends string = string, ->(config: Omit, "abi">) { +>(config: Omit, 'abi'>) { return prepareWriteContract({ abi: lTokenABI, ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** @@ -9351,13 +9347,13 @@ export function watchLTokenEvent< TAbi extends readonly unknown[] = typeof lTokenABI, TEventName extends string = string, >( - config: Omit, "abi">, + config: Omit, 'abi'>, callback: WatchContractEventCallback, ) { return watchContractEvent( { abi: lTokenABI, ...config } as WatchContractEventConfig, callback, - ); + ) } /** @@ -9366,11 +9362,11 @@ export function watchLTokenEvent< * */ export function getLTokenSignaler( - config: Omit & { - chainId?: keyof typeof lTokenSignalerAddress; + config: Omit & { + chainId?: keyof typeof lTokenSignalerAddress }, ) { - return getContract({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config }); + return getContract({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config }) } /** @@ -9382,15 +9378,15 @@ export function readLTokenSignaler< TAbi extends readonly unknown[] = typeof lTokenSignalerABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof lTokenSignalerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof lTokenSignalerAddress }, ) { return readContract({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config, - } as unknown as ReadContractConfig); + } as unknown as ReadContractConfig) } /** @@ -9406,24 +9402,24 @@ export function writeLTokenSignaler< config: | (Omit< WriteContractPreparedArgs, - "abi" | "address" + 'abi' | 'address' > & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof lTokenSignalerAddress; + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof lTokenSignalerAddress }) | (Omit< WriteContractUnpreparedArgs, - "abi" | "address" + 'abi' | 'address' > & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof lTokenSignalerAddress; + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof lTokenSignalerAddress }), ) { return writeContract({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config, - } as unknown as WriteContractArgs); + } as unknown as WriteContractArgs) } /** @@ -9435,15 +9431,15 @@ export function prepareWriteLTokenSignaler< TAbi extends readonly unknown[] = typeof lTokenSignalerABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof lTokenSignalerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof lTokenSignalerAddress }, ) { return prepareWriteContract({ abi: lTokenSignalerABI, address: lTokenSignalerAddress[31337], ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** @@ -9455,8 +9451,8 @@ export function watchLTokenSignalerEvent< TAbi extends readonly unknown[] = typeof lTokenSignalerABI, TEventName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof lTokenSignalerAddress; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof lTokenSignalerAddress }, callback: WatchContractEventCallback, ) { @@ -9467,14 +9463,14 @@ export function watchLTokenSignalerEvent< ...config, } as WatchContractEventConfig, callback, - ); + ) } /** * Wraps __{@link getContract}__ with `abi` set to __{@link genericErc20ABI}__. */ -export function getGenericErc20(config: Omit) { - return getContract({ abi: genericErc20ABI, ...config }); +export function getGenericErc20(config: Omit) { + return getContract({ abi: genericErc20ABI, ...config }) } /** @@ -9483,11 +9479,11 @@ export function getGenericErc20(config: Omit) { export function readGenericErc20< TAbi extends readonly unknown[] = typeof genericErc20ABI, TFunctionName extends string = string, ->(config: Omit, "abi">) { +>(config: Omit, 'abi'>) { return readContract({ abi: genericErc20ABI, ...config } as unknown as ReadContractConfig< TAbi, TFunctionName - >); + >) } /** @@ -9495,13 +9491,13 @@ export function readGenericErc20< */ export function writeGenericErc20( config: - | Omit, "abi"> - | Omit, "abi">, + | Omit, 'abi'> + | Omit, 'abi'>, ) { return writeContract({ abi: genericErc20ABI, ...config } as unknown as WriteContractArgs< typeof genericErc20ABI, TFunctionName - >); + >) } /** @@ -9510,11 +9506,11 @@ export function writeGenericErc20( export function prepareWriteGenericErc20< TAbi extends readonly unknown[] = typeof genericErc20ABI, TFunctionName extends string = string, ->(config: Omit, "abi">) { +>(config: Omit, 'abi'>) { return prepareWriteContract({ abi: genericErc20ABI, ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** @@ -9524,20 +9520,20 @@ export function watchGenericErc20Event< TAbi extends readonly unknown[] = typeof genericErc20ABI, TEventName extends string = string, >( - config: Omit, "abi">, + config: Omit, 'abi'>, callback: WatchContractEventCallback, ) { return watchContractEvent( { abi: genericErc20ABI, ...config } as WatchContractEventConfig, callback, - ); + ) } /** * Wraps __{@link getContract}__ with `abi` set to __{@link wipLdyStakingABI}__. */ -export function getWipLdyStaking(config: Omit) { - return getContract({ abi: wipLdyStakingABI, ...config }); +export function getWipLdyStaking(config: Omit) { + return getContract({ abi: wipLdyStakingABI, ...config }) } /** @@ -9546,11 +9542,11 @@ export function getWipLdyStaking(config: Omit) { export function readWipLdyStaking< TAbi extends readonly unknown[] = typeof wipLdyStakingABI, TFunctionName extends string = string, ->(config: Omit, "abi">) { +>(config: Omit, 'abi'>) { return readContract({ abi: wipLdyStakingABI, ...config } as unknown as ReadContractConfig< TAbi, TFunctionName - >); + >) } /** @@ -9558,13 +9554,13 @@ export function readWipLdyStaking< */ export function writeWipLdyStaking( config: - | Omit, "abi"> - | Omit, "abi">, + | Omit, 'abi'> + | Omit, 'abi'>, ) { return writeContract({ abi: wipLdyStakingABI, ...config } as unknown as WriteContractArgs< typeof wipLdyStakingABI, TFunctionName - >); + >) } /** @@ -9573,11 +9569,11 @@ export function writeWipLdyStaking( export function prepareWriteWipLdyStaking< TAbi extends readonly unknown[] = typeof wipLdyStakingABI, TFunctionName extends string = string, ->(config: Omit, "abi">) { +>(config: Omit, 'abi'>) { return prepareWriteContract({ abi: wipLdyStakingABI, ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** @@ -9587,13 +9583,13 @@ export function watchWipLdyStakingEvent< TAbi extends readonly unknown[] = typeof wipLdyStakingABI, TEventName extends string = string, >( - config: Omit, "abi">, + config: Omit, 'abi'>, callback: WatchContractEventCallback, ) { return watchContractEvent( { abi: wipLdyStakingABI, ...config } as WatchContractEventConfig, callback, - ); + ) } /** @@ -9605,13 +9601,13 @@ export function watchWipLdyStakingEvent< * - [__View Contract on Arbitrum Goerli Arbiscan__](https://goerli.arbiscan.io//address/0xcA11bde05977b3631167028862bE2a173976CA11) */ export function getMulticall3( - config: Omit & { chainId?: keyof typeof multicall3Address }, + config: Omit & { chainId?: keyof typeof multicall3Address }, ) { return getContract({ abi: multicall3ABI, address: multicall3Address[config.chainId as keyof typeof multicall3Address], ...config, - }); + }) } /** @@ -9626,15 +9622,15 @@ export function readMulticall3< TAbi extends readonly unknown[] = typeof multicall3ABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof multicall3Address; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof multicall3Address }, ) { return readContract({ abi: multicall3ABI, address: multicall3Address[config.chainId as keyof typeof multicall3Address], ...config, - } as unknown as ReadContractConfig); + } as unknown as ReadContractConfig) } /** @@ -9651,20 +9647,20 @@ export function writeMulticall3< TChainId extends number = keyof typeof multicall3Address, >( config: - | (Omit, "abi" | "address"> & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof multicall3Address; + | (Omit, 'abi' | 'address'> & { + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof multicall3Address }) - | (Omit, "abi" | "address"> & { - mode: TMode; - chainId?: TMode extends "prepared" ? TChainId : keyof typeof multicall3Address; + | (Omit, 'abi' | 'address'> & { + mode: TMode + chainId?: TMode extends 'prepared' ? TChainId : keyof typeof multicall3Address }), ) { return writeContract({ abi: multicall3ABI, address: multicall3Address[config.chainId as keyof typeof multicall3Address], ...config, - } as unknown as WriteContractArgs); + } as unknown as WriteContractArgs) } /** @@ -9679,22 +9675,22 @@ export function prepareWriteMulticall3< TAbi extends readonly unknown[] = typeof multicall3ABI, TFunctionName extends string = string, >( - config: Omit, "abi" | "address"> & { - chainId?: keyof typeof multicall3Address; + config: Omit, 'abi' | 'address'> & { + chainId?: keyof typeof multicall3Address }, ) { return prepareWriteContract({ abi: multicall3ABI, address: multicall3Address[config.chainId as keyof typeof multicall3Address], ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } /** * Wraps __{@link getContract}__ with `abi` set to __{@link iTransfersListenerABI}__. */ -export function getITransfersListener(config: Omit) { - return getContract({ abi: iTransfersListenerABI, ...config }); +export function getITransfersListener(config: Omit) { + return getContract({ abi: iTransfersListenerABI, ...config }) } /** @@ -9702,13 +9698,13 @@ export function getITransfersListener(config: Omit) { */ export function writeITransfersListener( config: - | Omit, "abi"> - | Omit, "abi">, + | Omit, 'abi'> + | Omit, 'abi'>, ) { return writeContract({ abi: iTransfersListenerABI, ...config } as unknown as WriteContractArgs< typeof iTransfersListenerABI, TFunctionName - >); + >) } /** @@ -9717,9 +9713,9 @@ export function writeITransfersListener( export function prepareWriteITransfersListener< TAbi extends readonly unknown[] = typeof iTransfersListenerABI, TFunctionName extends string = string, ->(config: Omit, "abi">) { +>(config: Omit, 'abi'>) { return prepareWriteContract({ abi: iTransfersListenerABI, ...config, - } as unknown as PrepareWriteContractConfig); + } as unknown as PrepareWriteContractConfig) } diff --git a/src/lib/chains.ts b/src/lib/chains.ts index 9d032c3a..c44b6bc8 100644 --- a/src/lib/chains.ts +++ b/src/lib/chains.ts @@ -1,5 +1,5 @@ import { Chain } from "wagmi"; -import { arbitrum, avalanche, hardhat as _hardhat, mainnet, polygon, sepolia } from "wagmi/chains"; +import { hardhat as _hardhat, arbitrum, arbitrumGoerli, lineaTestnet } from "wagmi/chains"; import { getContractAddress } from "./getContractAddress"; // Custom chains @@ -22,6 +22,50 @@ const hederaChain: Chain = { }, }; +// To replace by the Wagmi implementation when wagmi@1.6.1 is released +export const linea = { + id: 59_144, + name: "Linea", + network: "linea-mainnet", + nativeCurrency: { name: "Linea Ether", symbol: "ETH", decimals: 18 }, + rpcUrls: { + infura: { + http: ["https://linea-mainnet.infura.io/v3"], + webSocket: ["wss://linea-mainnet.infura.io/ws/v3"], + }, + default: { + http: ["https://rpc.linea.build"], + webSocket: ["wss://rpc.linea.build"], + }, + public: { + http: ["https://rpc.linea.build"], + webSocket: ["wss://rpc.linea.build"], + }, + }, + blockExplorers: { + default: { + name: "Etherscan", + url: "https://lineascan.build", + }, + etherscan: { + name: "Etherscan", + url: "https://lineascan.build", + }, + blockscout: { + name: "Blockscout", + url: "https://explorer.linea.build", + }, + }, + contracts: { + multicall3: { + address: "0xcA11bde05977b3631167028862bE2a173976CA11", + blockCreated: 42, + }, + }, + testnet: false, +} as const satisfies Chain; + +// Augment hardhat chain with multicall3 contract address const hardhat: Chain = { ..._hardhat, }; @@ -35,13 +79,12 @@ if (hardhatMulticall3Address) // Build chain icons map export const chainsIcons = { - 1: "/assets/chains/ethereum.svg", - 137: "/assets/chains/polygon.svg", - 42161: "/assets/chains/arbitrum.svg", - 43114: "/assets/chains/avalanche.svg", 295: "/assets/chains/hedera.svg", 31337: "/assets/chains/hardhat.svg", - 11155111: "/assets/chains/sepolia.png", + 421613: "/assets/chains/arbitrum-goerli.png", + 42161: "/assets/chains/arbitrum.svg", + 59140: "/assets/chains/linea-goerli.png", + 59144: "/assets/chains/linea.png", } as { [key: number]: string }; // Figure whether we're in dev or prod environment @@ -50,7 +93,6 @@ if (process.env.VERCEL_ENV === "preview") chainsEnv = "dev"; if (process.env.NODE_ENV !== "production") chainsEnv = "dev"; // Build chain lists for each environment, and export chains for the current one -const prodChains = [mainnet, polygon, arbitrum, avalanche, hederaChain]; -const devChains = [...prodChains, sepolia, hardhat]; -// export const chains = chainsEnv === "prod" ? prodChains : devChains; -export const chains = devChains; +const prodChains = [arbitrum, linea, arbitrumGoerli, lineaTestnet]; +const devChains = [...prodChains, hederaChain, hardhat]; +export const chains = chainsEnv === "prod" ? prodChains : devChains; diff --git a/subgraph/build/LTYStaking/LTYStaking.wasm b/subgraph/build/LTYStaking/LTYStaking.wasm deleted file mode 100644 index f1a733495b9546a8d93c7bf2571e14dc8e5fe609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41667 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 diff --git a/subgraph/build/hardhat/abis/LTYStaking.json b/subgraph/build/hardhat/abis/LTYStaking.json deleted file mode 100644 index 0b59868b..00000000 --- a/subgraph/build/hardhat/abis/LTYStaking.json +++ /dev/null @@ -1,676 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "newAPR", - "type": "uint16" - } - ], - "name": "APRUpdateEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newTotalStaked", - "type": "uint256" - } - ], - "name": "TotalStakedUpdateEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "accountsStakes", - "outputs": [ - { - "internalType": "uint216", - "name": "amount", - "type": "uint216" - }, - { - "internalType": "uint40", - "name": "lockEnd", - "type": "uint40" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "compound", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getApr", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedAmount", - "type": "uint256" - } - ], - "name": "getLockEndIncrease", - "outputs": [ - { - "internalType": "uint40", - "name": "", - "type": "uint40" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tier", - "type": "uint256" - } - ], - "name": "getTier", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalBlacklist", - "outputs": [ - { - "internalType": "contract GlobalBlacklist", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalOwner", - "outputs": [ - { - "internalType": "contract GlobalOwner", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalPauser", - "outputs": [ - { - "internalType": "contract GlobalPauser", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_globalOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "invested", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "lockEndOf", - "outputs": [ - { - "internalType": "uint40", - "name": "", - "type": "uint40" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "recoverERC20", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "recoverLTY", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "rewardsOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "aprUD3", - "type": "uint16" - } - ], - "name": "setAPR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - } - ], - "name": "setGlobalBlacklist", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - } - ], - "name": "setGlobalOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - } - ], - "name": "setGlobalPauser", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "setInvested", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint40", - "name": "_stakeLockDuration", - "type": "uint40" - } - ], - "name": "setStakeLockDuration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tier", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountUD18", - "type": "uint256" - } - ], - "name": "setTier", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_unlockFeesRateUD3", - "type": "uint32" - } - ], - "name": "setUnlockFeesRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint216", - "name": "amount", - "type": "uint216" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stakeLockDuration", - "outputs": [ - { - "internalType": "uint40", - "name": "", - "type": "uint40" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "stakeOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "tierOf", - "outputs": [ - { - "internalType": "uint256", - "name": "tier", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unlockFeesRateUD3", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint216", - "name": "amount", - "type": "uint216" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } -] \ No newline at end of file diff --git a/subgraph/build/hardhat/abis/LToken.json b/subgraph/build/hardhat/abis/LToken.json deleted file mode 100644 index 24ddd936..00000000 --- a/subgraph/build/hardhat/abis/LToken.json +++ /dev/null @@ -1,1129 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "newAPR", - "type": "uint16" - } - ], - "name": "APRUpdateEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "int256", - "name": "id", - "type": "int256" - }, - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": true, - "internalType": "enum LToken.Action", - "name": "action", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum LToken.Status", - "name": "newStatus", - "type": "uint8" - } - ], - "name": "ActivityEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "balanceBefore", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rewards", - "type": "uint256" - } - ], - "name": "MintedRewardsEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newTVL", - "type": "uint256" - } - ], - "name": "TVLUpdateEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "requestIds", - "type": "uint256[]" - } - ], - "name": "batchQueuedWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "requestId", - "type": "uint256" - } - ], - "name": "bigQueuedWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "requestId", - "type": "uint256" - } - ], - "name": "cancelWithdrawalRequest", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositFor", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "feesRateUD3", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fund", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "fundContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getApr", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExpectedRetained", - "outputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "getWithdrawanAmountAndFees", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawnAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fees", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalBlacklist", - "outputs": [ - { - "internalType": "contract GlobalBlacklist", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalOwner", - "outputs": [ - { - "internalType": "contract GlobalOwner", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "globalPauser", - "outputs": [ - { - "internalType": "contract GlobalPauser", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_globalOwner", - "type": "address" - }, - { - "internalType": "contract IERC20Upgradeable", - "name": "underlyingToken", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "instantWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "invested", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ltyStaking", - "outputs": [ - { - "internalType": "contract LTYStaking", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "realBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "recoverERC20", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "recoverUnderlying", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "requestWithdrawal", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "retentionRateUD3", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "aprUD3", - "type": "uint16" - } - ], - "name": "setAPR", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_feesRateUD3", - "type": "uint32" - } - ], - "name": "setFeesRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_fund", - "type": "address" - } - ], - "name": "setFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - } - ], - "name": "setGlobalBlacklist", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - } - ], - "name": "setGlobalOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - } - ], - "name": "setGlobalPauser", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "setInvested", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - } - ], - "name": "setLTYStaking", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_retentionRateUD3", - "type": "uint32" - } - ], - "name": "setRetentionRate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_withdrawer", - "type": "address" - } - ], - "name": "setWithdrawer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalQueued", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unclaimedFees", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "underlying", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "unpause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "usableBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "withdrawTo", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawer", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/subgraph/build/hardhat/abis/LTokenSignaler.json b/subgraph/build/hardhat/abis/LTokenSignaler.json deleted file mode 100644 index e22da025..00000000 --- a/subgraph/build/hardhat/abis/LTokenSignaler.json +++ /dev/null @@ -1,119 +0,0 @@ -[ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lTokenAddress", - "type": "address" - } - ], - "name": "LTokenSignalEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "globalOwner", - "outputs": [ - { - "internalType": "contract GlobalOwner", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - } - ], - "name": "setGlobalOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lTokenAddress", - "type": "address" - } - ], - "name": "signalLToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/subgraph/build/schema.graphql b/subgraph/build/schema.graphql index f8e40a4f..0c077da8 100644 --- a/subgraph/build/schema.graphql +++ b/subgraph/build/schema.graphql @@ -1,20 +1,22 @@ type LToken @entity { - id: ID! # Token symbol - tvlUpdates: [TVLUpdate!] @derivedFrom(field: "ltoken") - aprUpdates: [APRUpdate!] @derivedFrom(field: "ltoken") + id: ID! # Token address + symbol: String! + decimals: Int! + totalMintedRewards: BigDecimal! + tvlUpdates: [TVLChange!] @derivedFrom(field: "ltoken") + aprUpdates: [APRChange!] @derivedFrom(field: "ltoken") activities: [Activity!] @derivedFrom(field: "ltoken") rewardsMints: [RewardsMint!] @derivedFrom(field: "ltoken") - totalMintedRewards: BigDecimal! } -type TVLUpdate @entity(immutable: true) { +type TVLChange @entity(immutable: true) { id: ID! ltoken: LToken! timestamp: BigInt! amount: BigDecimal! } -type APRUpdate @entity(immutable: true) { +type APRChange @entity(immutable: true) { id: ID! ltoken: LToken! timestamp: BigInt! @@ -22,23 +24,26 @@ type APRUpdate @entity(immutable: true) { } enum ActivityAction { - WITHDRAW - DEPOSIT + Deposit + Withdraw } enum ActivityStatus { - SUCCESS - CANCELLED - QUEUED + Queued + Cancelled + Success # Sucess for deposits + Fulfilled # Success for withdrawals } type Activity @entity { - id: ID! # Witdhrawal request ID, or random ID if not provided in event data + id: ID! + requestId: BigInt! # Withdrawal request ID, or -1 ltoken: LToken! timestamp: BigInt! account: Bytes! action: ActivityAction! amount: BigDecimal! + amountAfterFees: BigDecimal! status: ActivityStatus! } @@ -52,14 +57,14 @@ type RewardsMint @entity(immutable: true) { growth: BigDecimal! } -type LTYStaking @entity { +type LDYStaking @entity { id: ID! totalStakedUpdates: [TotalStakedUpdate!] @derivedFrom(field: "staking") } type TotalStakedUpdate @entity(immutable: true) { id: ID! - staking: LTYStaking! + staking: LDYStaking! timestamp: BigInt! amount: BigDecimal! } diff --git a/subgraph/build/subgraph.yaml b/subgraph/build/subgraph.yaml index 52669d72..20a15368 100644 --- a/subgraph/build/subgraph.yaml +++ b/subgraph/build/subgraph.yaml @@ -4,73 +4,54 @@ repository: https://github.com/ledgity-labs/dapp schema: file: schema.graphql dataSources: - - kind: ethereum/contract - name: LTYStaking - network: http://localhost:8000/ - source: - address: "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6" - abi: LTYStaking - startBlock: 0 - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - file: LTYStaking/LTYStaking.wasm - entities: - - LTYStaking - - TotalStakedUpdate - abis: - - name: LTYStaking - file: hardhat/abis/LTYStaking.json - eventHandlers: - - event: TotalStakedUpdateEvent(uint256) - handler: handleTotalStakedEvent - kind: ethereum/contract name: LTokenSignaler - network: http://localhost:8000/ + network: mainnet source: - address: "0x0B306BF915C4d645ff596e518fAf3F9669b97016" + address: "0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1" abi: LTokenSignaler startBlock: 0 mapping: kind: ethereum/events apiVersion: 0.0.7 language: wasm/assemblyscript - file: LTYStaking/LTYStaking.wasm + file: LTokenSignaler/LTokenSignaler.wasm entities: - LToken abis: - name: LTokenSignaler - file: hardhat/abis/LTokenSignaler.json + file: contracts/abis/LTokenSignaler.json + - name: LToken + file: contracts/abis/LToken.json eventHandlers: - event: LTokenSignalEvent(indexed address) handler: handleSignaledLToken templates: - kind: ethereum/contract name: LToken - network: http://localhost:8000/ + network: mainnet source: abi: LToken mapping: kind: ethereum/events apiVersion: 0.0.7 language: wasm/assemblyscript - file: LTYStaking/LTYStaking.wasm + file: LTokenSignaler/LTokenSignaler.wasm entities: - LToken - - TVLUpdate - - APRUpdate + - TVLChange + - APRChange - Activity - RewardsMint abis: - name: LToken - file: hardhat/abis/LToken.json + file: contracts/abis/LToken.json eventHandlers: - - event: TVLUpdateEvent(uint256) - handler: handleTVLUpdateEvent - - event: APRUpdateEvent(uint16) - handler: handleAPRUpdateEvent - - event: ActivityEvent(indexed int256,indexed address,indexed uint8,uint256,uint8) + - event: TVLChangeEvent(uint256) + handler: handleTVLChangeEvent + - event: APRChangeEvent(uint16) + handler: handleAPRChangeEvent + - event: ActivityEvent(indexed int256,indexed address,indexed uint8,uint256,uint256,uint8) handler: handleActivityEvent - event: MintedRewardsEvent(indexed address,uint256,uint256) handler: handleMintedRewardsEvent diff --git a/subgraph/generated/LTYStaking/LTYStaking.ts b/subgraph/generated/LTYStaking/LTYStaking.ts deleted file mode 100644 index 57850dcc..00000000 --- a/subgraph/generated/LTYStaking/LTYStaking.ts +++ /dev/null @@ -1,1179 +0,0 @@ -// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. - -import { - ethereum, - JSONValue, - TypedMap, - Entity, - Bytes, - Address, - BigInt -} from "@graphprotocol/graph-ts"; - -export class APRUpdateEvent extends ethereum.Event { - get params(): APRUpdateEvent__Params { - return new APRUpdateEvent__Params(this); - } -} - -export class APRUpdateEvent__Params { - _event: APRUpdateEvent; - - constructor(event: APRUpdateEvent) { - this._event = event; - } - - get newAPR(): i32 { - return this._event.parameters[0].value.toI32(); - } -} - -export class AdminChanged extends ethereum.Event { - get params(): AdminChanged__Params { - return new AdminChanged__Params(this); - } -} - -export class AdminChanged__Params { - _event: AdminChanged; - - constructor(event: AdminChanged) { - this._event = event; - } - - get previousAdmin(): Address { - return this._event.parameters[0].value.toAddress(); - } - - get newAdmin(): Address { - return this._event.parameters[1].value.toAddress(); - } -} - -export class BeaconUpgraded extends ethereum.Event { - get params(): BeaconUpgraded__Params { - return new BeaconUpgraded__Params(this); - } -} - -export class BeaconUpgraded__Params { - _event: BeaconUpgraded; - - constructor(event: BeaconUpgraded) { - this._event = event; - } - - get beacon(): Address { - return this._event.parameters[0].value.toAddress(); - } -} - -export class Initialized extends ethereum.Event { - get params(): Initialized__Params { - return new Initialized__Params(this); - } -} - -export class Initialized__Params { - _event: Initialized; - - constructor(event: Initialized) { - this._event = event; - } - - get version(): i32 { - return this._event.parameters[0].value.toI32(); - } -} - -export class OwnershipTransferred extends ethereum.Event { - get params(): OwnershipTransferred__Params { - return new OwnershipTransferred__Params(this); - } -} - -export class OwnershipTransferred__Params { - _event: OwnershipTransferred; - - constructor(event: OwnershipTransferred) { - this._event = event; - } - - get previousOwner(): Address { - return this._event.parameters[0].value.toAddress(); - } - - get newOwner(): Address { - return this._event.parameters[1].value.toAddress(); - } -} - -export class Paused extends ethereum.Event { - get params(): Paused__Params { - return new Paused__Params(this); - } -} - -export class Paused__Params { - _event: Paused; - - constructor(event: Paused) { - this._event = event; - } - - get account(): Address { - return this._event.parameters[0].value.toAddress(); - } -} - -export class TotalStakedUpdateEvent extends ethereum.Event { - get params(): TotalStakedUpdateEvent__Params { - return new TotalStakedUpdateEvent__Params(this); - } -} - -export class TotalStakedUpdateEvent__Params { - _event: TotalStakedUpdateEvent; - - constructor(event: TotalStakedUpdateEvent) { - this._event = event; - } - - get newTotalStaked(): BigInt { - return this._event.parameters[0].value.toBigInt(); - } -} - -export class Unpaused extends ethereum.Event { - get params(): Unpaused__Params { - return new Unpaused__Params(this); - } -} - -export class Unpaused__Params { - _event: Unpaused; - - constructor(event: Unpaused) { - this._event = event; - } - - get account(): Address { - return this._event.parameters[0].value.toAddress(); - } -} - -export class Upgraded extends ethereum.Event { - get params(): Upgraded__Params { - return new Upgraded__Params(this); - } -} - -export class Upgraded__Params { - _event: Upgraded; - - constructor(event: Upgraded) { - this._event = event; - } - - get implementation(): Address { - return this._event.parameters[0].value.toAddress(); - } -} - -export class LTYStaking__accountsStakesResult { - value0: BigInt; - value1: BigInt; - - constructor(value0: BigInt, value1: BigInt) { - this.value0 = value0; - this.value1 = value1; - } - - toMap(): TypedMap { - let map = new TypedMap(); - map.set("value0", ethereum.Value.fromUnsignedBigInt(this.value0)); - map.set("value1", ethereum.Value.fromUnsignedBigInt(this.value1)); - return map; - } - - getAmount(): BigInt { - return this.value0; - } - - getLockEnd(): BigInt { - return this.value1; - } -} - -export class LTYStaking extends ethereum.SmartContract { - static bind(address: Address): LTYStaking { - return new LTYStaking("LTYStaking", address); - } - - accountsStakes(param0: Address): LTYStaking__accountsStakesResult { - let result = super.call( - "accountsStakes", - "accountsStakes(address):(uint216,uint40)", - [ethereum.Value.fromAddress(param0)] - ); - - return new LTYStaking__accountsStakesResult( - result[0].toBigInt(), - result[1].toBigInt() - ); - } - - try_accountsStakes( - param0: Address - ): ethereum.CallResult { - let result = super.tryCall( - "accountsStakes", - "accountsStakes(address):(uint216,uint40)", - [ethereum.Value.fromAddress(param0)] - ); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue( - new LTYStaking__accountsStakesResult( - value[0].toBigInt(), - value[1].toBigInt() - ) - ); - } - - getApr(): i32 { - let result = super.call("getApr", "getApr():(uint16)", []); - - return result[0].toI32(); - } - - try_getApr(): ethereum.CallResult { - let result = super.tryCall("getApr", "getApr():(uint16)", []); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toI32()); - } - - getLockEndIncrease(account: Address, addedAmount: BigInt): BigInt { - let result = super.call( - "getLockEndIncrease", - "getLockEndIncrease(address,uint256):(uint40)", - [ - ethereum.Value.fromAddress(account), - ethereum.Value.fromUnsignedBigInt(addedAmount) - ] - ); - - return result[0].toBigInt(); - } - - try_getLockEndIncrease( - account: Address, - addedAmount: BigInt - ): ethereum.CallResult { - let result = super.tryCall( - "getLockEndIncrease", - "getLockEndIncrease(address,uint256):(uint40)", - [ - ethereum.Value.fromAddress(account), - ethereum.Value.fromUnsignedBigInt(addedAmount) - ] - ); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - getTier(tier: BigInt): BigInt { - let result = super.call("getTier", "getTier(uint256):(uint256)", [ - ethereum.Value.fromUnsignedBigInt(tier) - ]); - - return result[0].toBigInt(); - } - - try_getTier(tier: BigInt): ethereum.CallResult { - let result = super.tryCall("getTier", "getTier(uint256):(uint256)", [ - ethereum.Value.fromUnsignedBigInt(tier) - ]); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - globalBlacklist(): Address { - let result = super.call( - "globalBlacklist", - "globalBlacklist():(address)", - [] - ); - - return result[0].toAddress(); - } - - try_globalBlacklist(): ethereum.CallResult
{ - let result = super.tryCall( - "globalBlacklist", - "globalBlacklist():(address)", - [] - ); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toAddress()); - } - - globalOwner(): Address { - let result = super.call("globalOwner", "globalOwner():(address)", []); - - return result[0].toAddress(); - } - - try_globalOwner(): ethereum.CallResult
{ - let result = super.tryCall("globalOwner", "globalOwner():(address)", []); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toAddress()); - } - - globalPauser(): Address { - let result = super.call("globalPauser", "globalPauser():(address)", []); - - return result[0].toAddress(); - } - - try_globalPauser(): ethereum.CallResult
{ - let result = super.tryCall("globalPauser", "globalPauser():(address)", []); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toAddress()); - } - - invested(): Address { - let result = super.call("invested", "invested():(address)", []); - - return result[0].toAddress(); - } - - try_invested(): ethereum.CallResult
{ - let result = super.tryCall("invested", "invested():(address)", []); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toAddress()); - } - - lockEndOf(account: Address): BigInt { - let result = super.call("lockEndOf", "lockEndOf(address):(uint40)", [ - ethereum.Value.fromAddress(account) - ]); - - return result[0].toBigInt(); - } - - try_lockEndOf(account: Address): ethereum.CallResult { - let result = super.tryCall("lockEndOf", "lockEndOf(address):(uint40)", [ - ethereum.Value.fromAddress(account) - ]); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - owner(): Address { - let result = super.call("owner", "owner():(address)", []); - - return result[0].toAddress(); - } - - try_owner(): ethereum.CallResult
{ - let result = super.tryCall("owner", "owner():(address)", []); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toAddress()); - } - - paused(): boolean { - let result = super.call("paused", "paused():(bool)", []); - - return result[0].toBoolean(); - } - - try_paused(): ethereum.CallResult { - let result = super.tryCall("paused", "paused():(bool)", []); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBoolean()); - } - - proxiableUUID(): Bytes { - let result = super.call("proxiableUUID", "proxiableUUID():(bytes32)", []); - - return result[0].toBytes(); - } - - try_proxiableUUID(): ethereum.CallResult { - let result = super.tryCall( - "proxiableUUID", - "proxiableUUID():(bytes32)", - [] - ); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBytes()); - } - - rewardsOf(account: Address): BigInt { - let result = super.call("rewardsOf", "rewardsOf(address):(uint256)", [ - ethereum.Value.fromAddress(account) - ]); - - return result[0].toBigInt(); - } - - try_rewardsOf(account: Address): ethereum.CallResult { - let result = super.tryCall("rewardsOf", "rewardsOf(address):(uint256)", [ - ethereum.Value.fromAddress(account) - ]); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - stakeLockDuration(): BigInt { - let result = super.call( - "stakeLockDuration", - "stakeLockDuration():(uint40)", - [] - ); - - return result[0].toBigInt(); - } - - try_stakeLockDuration(): ethereum.CallResult { - let result = super.tryCall( - "stakeLockDuration", - "stakeLockDuration():(uint40)", - [] - ); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - stakeOf(account: Address): BigInt { - let result = super.call("stakeOf", "stakeOf(address):(uint256)", [ - ethereum.Value.fromAddress(account) - ]); - - return result[0].toBigInt(); - } - - try_stakeOf(account: Address): ethereum.CallResult { - let result = super.tryCall("stakeOf", "stakeOf(address):(uint256)", [ - ethereum.Value.fromAddress(account) - ]); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - tierOf(account: Address): BigInt { - let result = super.call("tierOf", "tierOf(address):(uint256)", [ - ethereum.Value.fromAddress(account) - ]); - - return result[0].toBigInt(); - } - - try_tierOf(account: Address): ethereum.CallResult { - let result = super.tryCall("tierOf", "tierOf(address):(uint256)", [ - ethereum.Value.fromAddress(account) - ]); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - totalStaked(): BigInt { - let result = super.call("totalStaked", "totalStaked():(uint256)", []); - - return result[0].toBigInt(); - } - - try_totalStaked(): ethereum.CallResult { - let result = super.tryCall("totalStaked", "totalStaked():(uint256)", []); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } - - unlockFeesRateUD3(): BigInt { - let result = super.call( - "unlockFeesRateUD3", - "unlockFeesRateUD3():(uint32)", - [] - ); - - return result[0].toBigInt(); - } - - try_unlockFeesRateUD3(): ethereum.CallResult { - let result = super.tryCall( - "unlockFeesRateUD3", - "unlockFeesRateUD3():(uint32)", - [] - ); - if (result.reverted) { - return new ethereum.CallResult(); - } - let value = result.value; - return ethereum.CallResult.fromValue(value[0].toBigInt()); - } -} - -export class ClaimCall extends ethereum.Call { - get inputs(): ClaimCall__Inputs { - return new ClaimCall__Inputs(this); - } - - get outputs(): ClaimCall__Outputs { - return new ClaimCall__Outputs(this); - } -} - -export class ClaimCall__Inputs { - _call: ClaimCall; - - constructor(call: ClaimCall) { - this._call = call; - } -} - -export class ClaimCall__Outputs { - _call: ClaimCall; - - constructor(call: ClaimCall) { - this._call = call; - } -} - -export class CompoundCall extends ethereum.Call { - get inputs(): CompoundCall__Inputs { - return new CompoundCall__Inputs(this); - } - - get outputs(): CompoundCall__Outputs { - return new CompoundCall__Outputs(this); - } -} - -export class CompoundCall__Inputs { - _call: CompoundCall; - - constructor(call: CompoundCall) { - this._call = call; - } -} - -export class CompoundCall__Outputs { - _call: CompoundCall; - - constructor(call: CompoundCall) { - this._call = call; - } -} - -export class InitializeCall extends ethereum.Call { - get inputs(): InitializeCall__Inputs { - return new InitializeCall__Inputs(this); - } - - get outputs(): InitializeCall__Outputs { - return new InitializeCall__Outputs(this); - } -} - -export class InitializeCall__Inputs { - _call: InitializeCall; - - constructor(call: InitializeCall) { - this._call = call; - } - - get _globalOwner(): Address { - return this._call.inputValues[0].value.toAddress(); - } -} - -export class InitializeCall__Outputs { - _call: InitializeCall; - - constructor(call: InitializeCall) { - this._call = call; - } -} - -export class PauseCall extends ethereum.Call { - get inputs(): PauseCall__Inputs { - return new PauseCall__Inputs(this); - } - - get outputs(): PauseCall__Outputs { - return new PauseCall__Outputs(this); - } -} - -export class PauseCall__Inputs { - _call: PauseCall; - - constructor(call: PauseCall) { - this._call = call; - } -} - -export class PauseCall__Outputs { - _call: PauseCall; - - constructor(call: PauseCall) { - this._call = call; - } -} - -export class RecoverERC20Call extends ethereum.Call { - get inputs(): RecoverERC20Call__Inputs { - return new RecoverERC20Call__Inputs(this); - } - - get outputs(): RecoverERC20Call__Outputs { - return new RecoverERC20Call__Outputs(this); - } -} - -export class RecoverERC20Call__Inputs { - _call: RecoverERC20Call; - - constructor(call: RecoverERC20Call) { - this._call = call; - } - - get tokenAddress(): Address { - return this._call.inputValues[0].value.toAddress(); - } - - get amount(): BigInt { - return this._call.inputValues[1].value.toBigInt(); - } -} - -export class RecoverERC20Call__Outputs { - _call: RecoverERC20Call; - - constructor(call: RecoverERC20Call) { - this._call = call; - } -} - -export class RecoverLTYCall extends ethereum.Call { - get inputs(): RecoverLTYCall__Inputs { - return new RecoverLTYCall__Inputs(this); - } - - get outputs(): RecoverLTYCall__Outputs { - return new RecoverLTYCall__Outputs(this); - } -} - -export class RecoverLTYCall__Inputs { - _call: RecoverLTYCall; - - constructor(call: RecoverLTYCall) { - this._call = call; - } -} - -export class RecoverLTYCall__Outputs { - _call: RecoverLTYCall; - - constructor(call: RecoverLTYCall) { - this._call = call; - } -} - -export class RenounceOwnershipCall extends ethereum.Call { - get inputs(): RenounceOwnershipCall__Inputs { - return new RenounceOwnershipCall__Inputs(this); - } - - get outputs(): RenounceOwnershipCall__Outputs { - return new RenounceOwnershipCall__Outputs(this); - } -} - -export class RenounceOwnershipCall__Inputs { - _call: RenounceOwnershipCall; - - constructor(call: RenounceOwnershipCall) { - this._call = call; - } -} - -export class RenounceOwnershipCall__Outputs { - _call: RenounceOwnershipCall; - - constructor(call: RenounceOwnershipCall) { - this._call = call; - } -} - -export class SetAPRCall extends ethereum.Call { - get inputs(): SetAPRCall__Inputs { - return new SetAPRCall__Inputs(this); - } - - get outputs(): SetAPRCall__Outputs { - return new SetAPRCall__Outputs(this); - } -} - -export class SetAPRCall__Inputs { - _call: SetAPRCall; - - constructor(call: SetAPRCall) { - this._call = call; - } - - get aprUD3(): i32 { - return this._call.inputValues[0].value.toI32(); - } -} - -export class SetAPRCall__Outputs { - _call: SetAPRCall; - - constructor(call: SetAPRCall) { - this._call = call; - } -} - -export class SetGlobalBlacklistCall extends ethereum.Call { - get inputs(): SetGlobalBlacklistCall__Inputs { - return new SetGlobalBlacklistCall__Inputs(this); - } - - get outputs(): SetGlobalBlacklistCall__Outputs { - return new SetGlobalBlacklistCall__Outputs(this); - } -} - -export class SetGlobalBlacklistCall__Inputs { - _call: SetGlobalBlacklistCall; - - constructor(call: SetGlobalBlacklistCall) { - this._call = call; - } - - get contractAddress(): Address { - return this._call.inputValues[0].value.toAddress(); - } -} - -export class SetGlobalBlacklistCall__Outputs { - _call: SetGlobalBlacklistCall; - - constructor(call: SetGlobalBlacklistCall) { - this._call = call; - } -} - -export class SetGlobalOwnerCall extends ethereum.Call { - get inputs(): SetGlobalOwnerCall__Inputs { - return new SetGlobalOwnerCall__Inputs(this); - } - - get outputs(): SetGlobalOwnerCall__Outputs { - return new SetGlobalOwnerCall__Outputs(this); - } -} - -export class SetGlobalOwnerCall__Inputs { - _call: SetGlobalOwnerCall; - - constructor(call: SetGlobalOwnerCall) { - this._call = call; - } - - get contractAddress(): Address { - return this._call.inputValues[0].value.toAddress(); - } -} - -export class SetGlobalOwnerCall__Outputs { - _call: SetGlobalOwnerCall; - - constructor(call: SetGlobalOwnerCall) { - this._call = call; - } -} - -export class SetGlobalPauserCall extends ethereum.Call { - get inputs(): SetGlobalPauserCall__Inputs { - return new SetGlobalPauserCall__Inputs(this); - } - - get outputs(): SetGlobalPauserCall__Outputs { - return new SetGlobalPauserCall__Outputs(this); - } -} - -export class SetGlobalPauserCall__Inputs { - _call: SetGlobalPauserCall; - - constructor(call: SetGlobalPauserCall) { - this._call = call; - } - - get contractAddress(): Address { - return this._call.inputValues[0].value.toAddress(); - } -} - -export class SetGlobalPauserCall__Outputs { - _call: SetGlobalPauserCall; - - constructor(call: SetGlobalPauserCall) { - this._call = call; - } -} - -export class SetInvestedCall extends ethereum.Call { - get inputs(): SetInvestedCall__Inputs { - return new SetInvestedCall__Inputs(this); - } - - get outputs(): SetInvestedCall__Outputs { - return new SetInvestedCall__Outputs(this); - } -} - -export class SetInvestedCall__Inputs { - _call: SetInvestedCall; - - constructor(call: SetInvestedCall) { - this._call = call; - } - - get tokenAddress(): Address { - return this._call.inputValues[0].value.toAddress(); - } -} - -export class SetInvestedCall__Outputs { - _call: SetInvestedCall; - - constructor(call: SetInvestedCall) { - this._call = call; - } -} - -export class SetStakeLockDurationCall extends ethereum.Call { - get inputs(): SetStakeLockDurationCall__Inputs { - return new SetStakeLockDurationCall__Inputs(this); - } - - get outputs(): SetStakeLockDurationCall__Outputs { - return new SetStakeLockDurationCall__Outputs(this); - } -} - -export class SetStakeLockDurationCall__Inputs { - _call: SetStakeLockDurationCall; - - constructor(call: SetStakeLockDurationCall) { - this._call = call; - } - - get _stakeLockDuration(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class SetStakeLockDurationCall__Outputs { - _call: SetStakeLockDurationCall; - - constructor(call: SetStakeLockDurationCall) { - this._call = call; - } -} - -export class SetTierCall extends ethereum.Call { - get inputs(): SetTierCall__Inputs { - return new SetTierCall__Inputs(this); - } - - get outputs(): SetTierCall__Outputs { - return new SetTierCall__Outputs(this); - } -} - -export class SetTierCall__Inputs { - _call: SetTierCall; - - constructor(call: SetTierCall) { - this._call = call; - } - - get tier(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } - - get amountUD18(): BigInt { - return this._call.inputValues[1].value.toBigInt(); - } -} - -export class SetTierCall__Outputs { - _call: SetTierCall; - - constructor(call: SetTierCall) { - this._call = call; - } -} - -export class SetUnlockFeesRateCall extends ethereum.Call { - get inputs(): SetUnlockFeesRateCall__Inputs { - return new SetUnlockFeesRateCall__Inputs(this); - } - - get outputs(): SetUnlockFeesRateCall__Outputs { - return new SetUnlockFeesRateCall__Outputs(this); - } -} - -export class SetUnlockFeesRateCall__Inputs { - _call: SetUnlockFeesRateCall; - - constructor(call: SetUnlockFeesRateCall) { - this._call = call; - } - - get _unlockFeesRateUD3(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class SetUnlockFeesRateCall__Outputs { - _call: SetUnlockFeesRateCall; - - constructor(call: SetUnlockFeesRateCall) { - this._call = call; - } -} - -export class StakeCall extends ethereum.Call { - get inputs(): StakeCall__Inputs { - return new StakeCall__Inputs(this); - } - - get outputs(): StakeCall__Outputs { - return new StakeCall__Outputs(this); - } -} - -export class StakeCall__Inputs { - _call: StakeCall; - - constructor(call: StakeCall) { - this._call = call; - } - - get amount(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class StakeCall__Outputs { - _call: StakeCall; - - constructor(call: StakeCall) { - this._call = call; - } -} - -export class UnlockCall extends ethereum.Call { - get inputs(): UnlockCall__Inputs { - return new UnlockCall__Inputs(this); - } - - get outputs(): UnlockCall__Outputs { - return new UnlockCall__Outputs(this); - } -} - -export class UnlockCall__Inputs { - _call: UnlockCall; - - constructor(call: UnlockCall) { - this._call = call; - } -} - -export class UnlockCall__Outputs { - _call: UnlockCall; - - constructor(call: UnlockCall) { - this._call = call; - } -} - -export class UnpauseCall extends ethereum.Call { - get inputs(): UnpauseCall__Inputs { - return new UnpauseCall__Inputs(this); - } - - get outputs(): UnpauseCall__Outputs { - return new UnpauseCall__Outputs(this); - } -} - -export class UnpauseCall__Inputs { - _call: UnpauseCall; - - constructor(call: UnpauseCall) { - this._call = call; - } -} - -export class UnpauseCall__Outputs { - _call: UnpauseCall; - - constructor(call: UnpauseCall) { - this._call = call; - } -} - -export class UnstakeCall extends ethereum.Call { - get inputs(): UnstakeCall__Inputs { - return new UnstakeCall__Inputs(this); - } - - get outputs(): UnstakeCall__Outputs { - return new UnstakeCall__Outputs(this); - } -} - -export class UnstakeCall__Inputs { - _call: UnstakeCall; - - constructor(call: UnstakeCall) { - this._call = call; - } - - get amount(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class UnstakeCall__Outputs { - _call: UnstakeCall; - - constructor(call: UnstakeCall) { - this._call = call; - } -} - -export class UpgradeToCall extends ethereum.Call { - get inputs(): UpgradeToCall__Inputs { - return new UpgradeToCall__Inputs(this); - } - - get outputs(): UpgradeToCall__Outputs { - return new UpgradeToCall__Outputs(this); - } -} - -export class UpgradeToCall__Inputs { - _call: UpgradeToCall; - - constructor(call: UpgradeToCall) { - this._call = call; - } - - get newImplementation(): Address { - return this._call.inputValues[0].value.toAddress(); - } -} - -export class UpgradeToCall__Outputs { - _call: UpgradeToCall; - - constructor(call: UpgradeToCall) { - this._call = call; - } -} - -export class UpgradeToAndCallCall extends ethereum.Call { - get inputs(): UpgradeToAndCallCall__Inputs { - return new UpgradeToAndCallCall__Inputs(this); - } - - get outputs(): UpgradeToAndCallCall__Outputs { - return new UpgradeToAndCallCall__Outputs(this); - } -} - -export class UpgradeToAndCallCall__Inputs { - _call: UpgradeToAndCallCall; - - constructor(call: UpgradeToAndCallCall) { - this._call = call; - } - - get newImplementation(): Address { - return this._call.inputValues[0].value.toAddress(); - } - - get data(): Bytes { - return this._call.inputValues[1].value.toBytes(); - } -} - -export class UpgradeToAndCallCall__Outputs { - _call: UpgradeToAndCallCall; - - constructor(call: UpgradeToAndCallCall) { - this._call = call; - } -} diff --git a/subgraph/generated/LTokenSignaler/LToken.ts b/subgraph/generated/LTokenSignaler/LToken.ts index 77fd8130..58fc361b 100644 --- a/subgraph/generated/LTokenSignaler/LToken.ts +++ b/subgraph/generated/LTokenSignaler/LToken.ts @@ -10,20 +10,20 @@ import { BigInt } from "@graphprotocol/graph-ts"; -export class APRUpdateEvent extends ethereum.Event { - get params(): APRUpdateEvent__Params { - return new APRUpdateEvent__Params(this); +export class APRChangeEvent extends ethereum.Event { + get params(): APRChangeEvent__Params { + return new APRChangeEvent__Params(this); } } -export class APRUpdateEvent__Params { - _event: APRUpdateEvent; +export class APRChangeEvent__Params { + _event: APRChangeEvent; - constructor(event: APRUpdateEvent) { + constructor(event: APRChangeEvent) { this._event = event; } - get newAPR(): i32 { + get newAPRUD7x3(): i32 { return this._event.parameters[0].value.toI32(); } } @@ -216,16 +216,16 @@ export class Paused__Params { } } -export class TVLUpdateEvent extends ethereum.Event { - get params(): TVLUpdateEvent__Params { - return new TVLUpdateEvent__Params(this); +export class TVLChangeEvent extends ethereum.Event { + get params(): TVLChangeEvent__Params { + return new TVLChangeEvent__Params(this); } } -export class TVLUpdateEvent__Params { - _event: TVLUpdateEvent; +export class TVLChangeEvent__Params { + _event: TVLChangeEvent; - constructor(event: TVLUpdateEvent) { + constructor(event: TVLChangeEvent) { this._event = event; } @@ -296,7 +296,32 @@ export class Upgraded__Params { } } -export class LToken__getWithdrawanAmountAndFeesResult { +export class LToken__frozenRequestsResult { + value0: Address; + value1: BigInt; + + constructor(value0: Address, value1: BigInt) { + this.value0 = value0; + this.value1 = value1; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", ethereum.Value.fromAddress(this.value0)); + map.set("value1", ethereum.Value.fromUnsignedBigInt(this.value1)); + return map; + } + + getAccount(): Address { + return this.value0; + } + + getAmount(): BigInt { + return this.value1; + } +} + +export class LToken__getWithdrawnAmountAndFeesResult { value0: BigInt; value1: BigInt; @@ -321,6 +346,31 @@ export class LToken__getWithdrawanAmountAndFeesResult { } } +export class LToken__withdrawalQueueResult { + value0: Address; + value1: BigInt; + + constructor(value0: Address, value1: BigInt) { + this.value0 = value0; + this.value1 = value1; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", ethereum.Value.fromAddress(this.value0)); + map.set("value1", ethereum.Value.fromUnsignedBigInt(this.value1)); + return map; + } + + getAccount(): Address { + return this.value0; + } + + getAmount(): BigInt { + return this.value1; + } +} + export class LToken extends ethereum.SmartContract { static bind(address: Address): LToken { return new LToken("LToken", address); @@ -468,14 +518,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBoolean()); } - feesRateUD3(): BigInt { - let result = super.call("feesRateUD3", "feesRateUD3():(uint32)", []); + feesRateUD7x3(): BigInt { + let result = super.call("feesRateUD7x3", "feesRateUD7x3():(uint32)", []); return result[0].toBigInt(); } - try_feesRateUD3(): ethereum.CallResult { - let result = super.tryCall("feesRateUD3", "feesRateUD3():(uint32)", []); + try_feesRateUD7x3(): ethereum.CallResult { + let result = super.tryCall("feesRateUD7x3", "feesRateUD7x3():(uint32)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -483,6 +533,39 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } + frozenRequests(param0: BigInt): LToken__frozenRequestsResult { + let result = super.call( + "frozenRequests", + "frozenRequests(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + + return new LToken__frozenRequestsResult( + result[0].toAddress(), + result[1].toBigInt() + ); + } + + try_frozenRequests( + param0: BigInt + ): ethereum.CallResult { + let result = super.tryCall( + "frozenRequests", + "frozenRequests(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue( + new LToken__frozenRequestsResult( + value[0].toAddress(), + value[1].toBigInt() + ) + ); + } + fund(): Address { let result = super.call("fund", "fund():(address)", []); @@ -498,14 +581,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - getApr(): i32 { - let result = super.call("getApr", "getApr():(uint16)", []); + getAPR(): i32 { + let result = super.call("getAPR", "getAPR():(uint16)", []); return result[0].toI32(); } - try_getApr(): ethereum.CallResult { - let result = super.tryCall("getApr", "getApr():(uint16)", []); + try_getAPR(): ethereum.CallResult { + let result = super.tryCall("getAPR", "getAPR():(uint16)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -536,32 +619,32 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } - getWithdrawanAmountAndFees( + getWithdrawnAmountAndFees( account: Address, amount: BigInt - ): LToken__getWithdrawanAmountAndFeesResult { + ): LToken__getWithdrawnAmountAndFeesResult { let result = super.call( - "getWithdrawanAmountAndFees", - "getWithdrawanAmountAndFees(address,uint256):(uint256,uint256)", + "getWithdrawnAmountAndFees", + "getWithdrawnAmountAndFees(address,uint256):(uint256,uint256)", [ ethereum.Value.fromAddress(account), ethereum.Value.fromUnsignedBigInt(amount) ] ); - return new LToken__getWithdrawanAmountAndFeesResult( + return new LToken__getWithdrawnAmountAndFeesResult( result[0].toBigInt(), result[1].toBigInt() ); } - try_getWithdrawanAmountAndFees( + try_getWithdrawnAmountAndFees( account: Address, amount: BigInt - ): ethereum.CallResult { + ): ethereum.CallResult { let result = super.tryCall( - "getWithdrawanAmountAndFees", - "getWithdrawanAmountAndFees(address,uint256):(uint256,uint256)", + "getWithdrawnAmountAndFees", + "getWithdrawnAmountAndFees(address,uint256):(uint256,uint256)", [ ethereum.Value.fromAddress(account), ethereum.Value.fromUnsignedBigInt(amount) @@ -572,7 +655,7 @@ export class LToken extends ethereum.SmartContract { } let value = result.value; return ethereum.CallResult.fromValue( - new LToken__getWithdrawanAmountAndFeesResult( + new LToken__getWithdrawnAmountAndFeesResult( value[0].toBigInt(), value[1].toBigInt() ) @@ -617,14 +700,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - globalPauser(): Address { - let result = super.call("globalPauser", "globalPauser():(address)", []); + globalPause(): Address { + let result = super.call("globalPause", "globalPause():(address)", []); return result[0].toAddress(); } - try_globalPauser(): ethereum.CallResult
{ - let result = super.tryCall("globalPauser", "globalPauser():(address)", []); + try_globalPause(): ethereum.CallResult
{ + let result = super.tryCall("globalPause", "globalPause():(address)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -679,14 +762,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - ltyStaking(): Address { - let result = super.call("ltyStaking", "ltyStaking():(address)", []); + ldyStaking(): Address { + let result = super.call("ldyStaking", "ldyStaking():(address)", []); return result[0].toAddress(); } - try_ltyStaking(): ethereum.CallResult
{ - let result = super.tryCall("ltyStaking", "ltyStaking():(address)", []); + try_ldyStaking(): ethereum.CallResult
{ + let result = super.tryCall("ldyStaking", "ldyStaking():(address)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -781,20 +864,20 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } - retentionRateUD3(): BigInt { + realTotalSupply(): BigInt { let result = super.call( - "retentionRateUD3", - "retentionRateUD3():(uint32)", + "realTotalSupply", + "realTotalSupply():(uint256)", [] ); return result[0].toBigInt(); } - try_retentionRateUD3(): ethereum.CallResult { + try_realTotalSupply(): ethereum.CallResult { let result = super.tryCall( - "retentionRateUD3", - "retentionRateUD3():(uint32)", + "realTotalSupply", + "realTotalSupply():(uint256)", [] ); if (result.reverted) { @@ -804,6 +887,84 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } + retentionRateUD7x3(): BigInt { + let result = super.call( + "retentionRateUD7x3", + "retentionRateUD7x3():(uint32)", + [] + ); + + return result[0].toBigInt(); + } + + try_retentionRateUD7x3(): ethereum.CallResult { + let result = super.tryCall( + "retentionRateUD7x3", + "retentionRateUD7x3():(uint32)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + rewardsRedirectsFromTo(param0: Address): Address { + let result = super.call( + "rewardsRedirectsFromTo", + "rewardsRedirectsFromTo(address):(address)", + [ethereum.Value.fromAddress(param0)] + ); + + return result[0].toAddress(); + } + + try_rewardsRedirectsFromTo(param0: Address): ethereum.CallResult
{ + let result = super.tryCall( + "rewardsRedirectsFromTo", + "rewardsRedirectsFromTo(address):(address)", + [ethereum.Value.fromAddress(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toAddress()); + } + + rewardsRedirectsToFrom(param0: Address, param1: BigInt): Address { + let result = super.call( + "rewardsRedirectsToFrom", + "rewardsRedirectsToFrom(address,uint256):(address)", + [ + ethereum.Value.fromAddress(param0), + ethereum.Value.fromUnsignedBigInt(param1) + ] + ); + + return result[0].toAddress(); + } + + try_rewardsRedirectsToFrom( + param0: Address, + param1: BigInt + ): ethereum.CallResult
{ + let result = super.tryCall( + "rewardsRedirectsToFrom", + "rewardsRedirectsToFrom(address,uint256):(address)", + [ + ethereum.Value.fromAddress(param0), + ethereum.Value.fromUnsignedBigInt(param1) + ] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toAddress()); + } + symbol(): string { let result = super.call("symbol", "symbol():(string)", []); @@ -905,6 +1066,29 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBoolean()); } + transfersListeners(param0: BigInt): Address { + let result = super.call( + "transfersListeners", + "transfersListeners(uint256):(address)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + + return result[0].toAddress(); + } + + try_transfersListeners(param0: BigInt): ethereum.CallResult
{ + let result = super.tryCall( + "transfersListeners", + "transfersListeners(uint256):(address)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toAddress()); + } + unclaimedFees(): BigInt { let result = super.call("unclaimedFees", "unclaimedFees():(uint256)", []); @@ -939,16 +1123,43 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - usableBalance(): BigInt { - let result = super.call("usableBalance", "usableBalance():(uint256)", []); + unmintedRewardsOf(account: Address): BigInt { + let result = super.call( + "unmintedRewardsOf", + "unmintedRewardsOf(address):(uint256)", + [ethereum.Value.fromAddress(account)] + ); return result[0].toBigInt(); } - try_usableBalance(): ethereum.CallResult { + try_unmintedRewardsOf(account: Address): ethereum.CallResult { let result = super.tryCall( - "usableBalance", - "usableBalance():(uint256)", + "unmintedRewardsOf", + "unmintedRewardsOf(address):(uint256)", + [ethereum.Value.fromAddress(account)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + usableUnderlyings(): BigInt { + let result = super.call( + "usableUnderlyings", + "usableUnderlyings():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_usableUnderlyings(): ethereum.CallResult { + let result = super.tryCall( + "usableUnderlyings", + "usableUnderlyings():(uint256)", [] ); if (result.reverted) { @@ -990,21 +1201,54 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBoolean()); } - withdrawalRequestAmount(requestId: BigInt): BigInt { + withdrawalQueue(param0: BigInt): LToken__withdrawalQueueResult { + let result = super.call( + "withdrawalQueue", + "withdrawalQueue(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + + return new LToken__withdrawalQueueResult( + result[0].toAddress(), + result[1].toBigInt() + ); + } + + try_withdrawalQueue( + param0: BigInt + ): ethereum.CallResult { + let result = super.tryCall( + "withdrawalQueue", + "withdrawalQueue(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue( + new LToken__withdrawalQueueResult( + value[0].toAddress(), + value[1].toBigInt() + ) + ); + } + + withdrawalQueueCursor(): BigInt { let result = super.call( - "withdrawalRequestAmount", - "withdrawalRequestAmount(uint256):(uint256)", - [ethereum.Value.fromUnsignedBigInt(requestId)] + "withdrawalQueueCursor", + "withdrawalQueueCursor():(uint256)", + [] ); return result[0].toBigInt(); } - try_withdrawalRequestAmount(requestId: BigInt): ethereum.CallResult { + try_withdrawalQueueCursor(): ethereum.CallResult { let result = super.tryCall( - "withdrawalRequestAmount", - "withdrawalRequestAmount(uint256):(uint256)", - [ethereum.Value.fromUnsignedBigInt(requestId)] + "withdrawalQueueCursor", + "withdrawalQueueCursor():(uint256)", + [] ); if (result.reverted) { return new ethereum.CallResult(); @@ -1067,66 +1311,6 @@ export class ApproveCall__Outputs { } } -export class BatchQueuedWithdrawCall extends ethereum.Call { - get inputs(): BatchQueuedWithdrawCall__Inputs { - return new BatchQueuedWithdrawCall__Inputs(this); - } - - get outputs(): BatchQueuedWithdrawCall__Outputs { - return new BatchQueuedWithdrawCall__Outputs(this); - } -} - -export class BatchQueuedWithdrawCall__Inputs { - _call: BatchQueuedWithdrawCall; - - constructor(call: BatchQueuedWithdrawCall) { - this._call = call; - } - - get requestIds(): Array { - return this._call.inputValues[0].value.toBigIntArray(); - } -} - -export class BatchQueuedWithdrawCall__Outputs { - _call: BatchQueuedWithdrawCall; - - constructor(call: BatchQueuedWithdrawCall) { - this._call = call; - } -} - -export class BigQueuedWithdrawCall extends ethereum.Call { - get inputs(): BigQueuedWithdrawCall__Inputs { - return new BigQueuedWithdrawCall__Inputs(this); - } - - get outputs(): BigQueuedWithdrawCall__Outputs { - return new BigQueuedWithdrawCall__Outputs(this); - } -} - -export class BigQueuedWithdrawCall__Inputs { - _call: BigQueuedWithdrawCall; - - constructor(call: BigQueuedWithdrawCall) { - this._call = call; - } - - get requestId(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class BigQueuedWithdrawCall__Outputs { - _call: BigQueuedWithdrawCall; - - constructor(call: BigQueuedWithdrawCall) { - this._call = call; - } -} - export class CancelWithdrawalRequestCall extends ethereum.Call { get inputs(): CancelWithdrawalRequestCall__Inputs { return new CancelWithdrawalRequestCall__Inputs(this); @@ -1251,36 +1435,6 @@ export class DepositCall__Outputs { } } -export class FundContractCall extends ethereum.Call { - get inputs(): FundContractCall__Inputs { - return new FundContractCall__Inputs(this); - } - - get outputs(): FundContractCall__Outputs { - return new FundContractCall__Outputs(this); - } -} - -export class FundContractCall__Inputs { - _call: FundContractCall; - - constructor(call: FundContractCall) { - this._call = call; - } - - get amount(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class FundContractCall__Outputs { - _call: FundContractCall; - - constructor(call: FundContractCall) { - this._call = call; - } -} - export class IncreaseAllowanceCall extends ethereum.Call { get inputs(): IncreaseAllowanceCall__Inputs { return new IncreaseAllowanceCall__Inputs(this); @@ -1336,13 +1490,25 @@ export class InitializeCall__Inputs { this._call = call; } - get _globalOwner(): Address { + get globalOwner_(): Address { return this._call.inputValues[0].value.toAddress(); } - get underlyingToken(): Address { + get globalPause_(): Address { return this._call.inputValues[1].value.toAddress(); } + + get globalBlacklist_(): Address { + return this._call.inputValues[2].value.toAddress(); + } + + get ldyStaking_(): Address { + return this._call.inputValues[3].value.toAddress(); + } + + get underlyingToken(): Address { + return this._call.inputValues[4].value.toAddress(); + } } export class InitializeCall__Outputs { @@ -1353,20 +1519,20 @@ export class InitializeCall__Outputs { } } -export class InstantWithdrawCall extends ethereum.Call { - get inputs(): InstantWithdrawCall__Inputs { - return new InstantWithdrawCall__Inputs(this); +export class InstantWithdrawalCall extends ethereum.Call { + get inputs(): InstantWithdrawalCall__Inputs { + return new InstantWithdrawalCall__Inputs(this); } - get outputs(): InstantWithdrawCall__Outputs { - return new InstantWithdrawCall__Outputs(this); + get outputs(): InstantWithdrawalCall__Outputs { + return new InstantWithdrawalCall__Outputs(this); } } -export class InstantWithdrawCall__Inputs { - _call: InstantWithdrawCall; +export class InstantWithdrawalCall__Inputs { + _call: InstantWithdrawalCall; - constructor(call: InstantWithdrawCall) { + constructor(call: InstantWithdrawalCall) { this._call = call; } @@ -1375,36 +1541,96 @@ export class InstantWithdrawCall__Inputs { } } -export class InstantWithdrawCall__Outputs { - _call: InstantWithdrawCall; +export class InstantWithdrawalCall__Outputs { + _call: InstantWithdrawalCall; - constructor(call: InstantWithdrawCall) { + constructor(call: InstantWithdrawalCall) { this._call = call; } } -export class PauseCall extends ethereum.Call { - get inputs(): PauseCall__Inputs { - return new PauseCall__Inputs(this); +export class ListenToTransfersCall extends ethereum.Call { + get inputs(): ListenToTransfersCall__Inputs { + return new ListenToTransfersCall__Inputs(this); } - get outputs(): PauseCall__Outputs { - return new PauseCall__Outputs(this); + get outputs(): ListenToTransfersCall__Outputs { + return new ListenToTransfersCall__Outputs(this); } } -export class PauseCall__Inputs { - _call: PauseCall; +export class ListenToTransfersCall__Inputs { + _call: ListenToTransfersCall; - constructor(call: PauseCall) { + constructor(call: ListenToTransfersCall) { this._call = call; } + + get listenerContract(): Address { + return this._call.inputValues[0].value.toAddress(); + } } -export class PauseCall__Outputs { - _call: PauseCall; +export class ListenToTransfersCall__Outputs { + _call: ListenToTransfersCall; - constructor(call: PauseCall) { + constructor(call: ListenToTransfersCall) { + this._call = call; + } +} + +export class ProcessBigQueuedRequestCall extends ethereum.Call { + get inputs(): ProcessBigQueuedRequestCall__Inputs { + return new ProcessBigQueuedRequestCall__Inputs(this); + } + + get outputs(): ProcessBigQueuedRequestCall__Outputs { + return new ProcessBigQueuedRequestCall__Outputs(this); + } +} + +export class ProcessBigQueuedRequestCall__Inputs { + _call: ProcessBigQueuedRequestCall; + + constructor(call: ProcessBigQueuedRequestCall) { + this._call = call; + } + + get requestId(): BigInt { + return this._call.inputValues[0].value.toBigInt(); + } +} + +export class ProcessBigQueuedRequestCall__Outputs { + _call: ProcessBigQueuedRequestCall; + + constructor(call: ProcessBigQueuedRequestCall) { + this._call = call; + } +} + +export class ProcessQueuedRequestsCall extends ethereum.Call { + get inputs(): ProcessQueuedRequestsCall__Inputs { + return new ProcessQueuedRequestsCall__Inputs(this); + } + + get outputs(): ProcessQueuedRequestsCall__Outputs { + return new ProcessQueuedRequestsCall__Outputs(this); + } +} + +export class ProcessQueuedRequestsCall__Inputs { + _call: ProcessQueuedRequestsCall; + + constructor(call: ProcessQueuedRequestsCall) { + this._call = call; + } +} + +export class ProcessQueuedRequestsCall__Outputs { + _call: ProcessQueuedRequestsCall; + + constructor(call: ProcessQueuedRequestsCall) { this._call = call; } } @@ -1469,28 +1695,32 @@ export class RecoverUnderlyingCall__Outputs { } } -export class RenounceOwnershipCall extends ethereum.Call { - get inputs(): RenounceOwnershipCall__Inputs { - return new RenounceOwnershipCall__Inputs(this); +export class RepatriateCall extends ethereum.Call { + get inputs(): RepatriateCall__Inputs { + return new RepatriateCall__Inputs(this); } - get outputs(): RenounceOwnershipCall__Outputs { - return new RenounceOwnershipCall__Outputs(this); + get outputs(): RepatriateCall__Outputs { + return new RepatriateCall__Outputs(this); } } -export class RenounceOwnershipCall__Inputs { - _call: RenounceOwnershipCall; +export class RepatriateCall__Inputs { + _call: RepatriateCall; - constructor(call: RenounceOwnershipCall) { + constructor(call: RepatriateCall) { this._call = call; } + + get amount(): BigInt { + return this._call.inputValues[0].value.toBigInt(); + } } -export class RenounceOwnershipCall__Outputs { - _call: RenounceOwnershipCall; +export class RepatriateCall__Outputs { + _call: RepatriateCall; - constructor(call: RenounceOwnershipCall) { + constructor(call: RepatriateCall) { this._call = call; } } @@ -1542,7 +1772,7 @@ export class SetAPRCall__Inputs { this._call = call; } - get aprUD3(): i32 { + get aprUD7x3(): i32 { return this._call.inputValues[0].value.toI32(); } } @@ -1572,7 +1802,7 @@ export class SetFeesRateCall__Inputs { this._call = call; } - get _feesRateUD3(): BigInt { + get feesRateUD7x3_(): BigInt { return this._call.inputValues[0].value.toBigInt(); } } @@ -1602,7 +1832,7 @@ export class SetFundCall__Inputs { this._call = call; } - get _fund(): Address { + get fund_(): Address { return this._call.inputValues[0].value.toAddress(); } } @@ -1615,212 +1845,160 @@ export class SetFundCall__Outputs { } } -export class SetGlobalBlacklistCall extends ethereum.Call { - get inputs(): SetGlobalBlacklistCall__Inputs { - return new SetGlobalBlacklistCall__Inputs(this); +export class SetLDYStakingCall extends ethereum.Call { + get inputs(): SetLDYStakingCall__Inputs { + return new SetLDYStakingCall__Inputs(this); } - get outputs(): SetGlobalBlacklistCall__Outputs { - return new SetGlobalBlacklistCall__Outputs(this); + get outputs(): SetLDYStakingCall__Outputs { + return new SetLDYStakingCall__Outputs(this); } } -export class SetGlobalBlacklistCall__Inputs { - _call: SetGlobalBlacklistCall; +export class SetLDYStakingCall__Inputs { + _call: SetLDYStakingCall; - constructor(call: SetGlobalBlacklistCall) { + constructor(call: SetLDYStakingCall) { this._call = call; } - get contractAddress(): Address { + get ldyStakingAddress(): Address { return this._call.inputValues[0].value.toAddress(); } } -export class SetGlobalBlacklistCall__Outputs { - _call: SetGlobalBlacklistCall; +export class SetLDYStakingCall__Outputs { + _call: SetLDYStakingCall; - constructor(call: SetGlobalBlacklistCall) { + constructor(call: SetLDYStakingCall) { this._call = call; } } -export class SetGlobalOwnerCall extends ethereum.Call { - get inputs(): SetGlobalOwnerCall__Inputs { - return new SetGlobalOwnerCall__Inputs(this); +export class SetRetentionRateCall extends ethereum.Call { + get inputs(): SetRetentionRateCall__Inputs { + return new SetRetentionRateCall__Inputs(this); } - get outputs(): SetGlobalOwnerCall__Outputs { - return new SetGlobalOwnerCall__Outputs(this); + get outputs(): SetRetentionRateCall__Outputs { + return new SetRetentionRateCall__Outputs(this); } } -export class SetGlobalOwnerCall__Inputs { - _call: SetGlobalOwnerCall; +export class SetRetentionRateCall__Inputs { + _call: SetRetentionRateCall; - constructor(call: SetGlobalOwnerCall) { + constructor(call: SetRetentionRateCall) { this._call = call; } - get contractAddress(): Address { - return this._call.inputValues[0].value.toAddress(); + get retentionRateUD7x3_(): BigInt { + return this._call.inputValues[0].value.toBigInt(); } } -export class SetGlobalOwnerCall__Outputs { - _call: SetGlobalOwnerCall; +export class SetRetentionRateCall__Outputs { + _call: SetRetentionRateCall; - constructor(call: SetGlobalOwnerCall) { + constructor(call: SetRetentionRateCall) { this._call = call; } } -export class SetGlobalPauserCall extends ethereum.Call { - get inputs(): SetGlobalPauserCall__Inputs { - return new SetGlobalPauserCall__Inputs(this); +export class SetWithdrawerCall extends ethereum.Call { + get inputs(): SetWithdrawerCall__Inputs { + return new SetWithdrawerCall__Inputs(this); } - get outputs(): SetGlobalPauserCall__Outputs { - return new SetGlobalPauserCall__Outputs(this); + get outputs(): SetWithdrawerCall__Outputs { + return new SetWithdrawerCall__Outputs(this); } } -export class SetGlobalPauserCall__Inputs { - _call: SetGlobalPauserCall; +export class SetWithdrawerCall__Inputs { + _call: SetWithdrawerCall; - constructor(call: SetGlobalPauserCall) { + constructor(call: SetWithdrawerCall) { this._call = call; } - get contractAddress(): Address { + get withdrawer_(): Address { return this._call.inputValues[0].value.toAddress(); } } -export class SetGlobalPauserCall__Outputs { - _call: SetGlobalPauserCall; +export class SetWithdrawerCall__Outputs { + _call: SetWithdrawerCall; - constructor(call: SetGlobalPauserCall) { + constructor(call: SetWithdrawerCall) { this._call = call; } } -export class SetInvestedCall extends ethereum.Call { - get inputs(): SetInvestedCall__Inputs { - return new SetInvestedCall__Inputs(this); +export class StartRewardsRedirectionCall extends ethereum.Call { + get inputs(): StartRewardsRedirectionCall__Inputs { + return new StartRewardsRedirectionCall__Inputs(this); } - get outputs(): SetInvestedCall__Outputs { - return new SetInvestedCall__Outputs(this); + get outputs(): StartRewardsRedirectionCall__Outputs { + return new StartRewardsRedirectionCall__Outputs(this); } } -export class SetInvestedCall__Inputs { - _call: SetInvestedCall; +export class StartRewardsRedirectionCall__Inputs { + _call: StartRewardsRedirectionCall; - constructor(call: SetInvestedCall) { + constructor(call: StartRewardsRedirectionCall) { this._call = call; } - get tokenAddress(): Address { + get from(): Address { return this._call.inputValues[0].value.toAddress(); } -} -export class SetInvestedCall__Outputs { - _call: SetInvestedCall; - - constructor(call: SetInvestedCall) { - this._call = call; - } -} - -export class SetLTYStakingCall extends ethereum.Call { - get inputs(): SetLTYStakingCall__Inputs { - return new SetLTYStakingCall__Inputs(this); - } - - get outputs(): SetLTYStakingCall__Outputs { - return new SetLTYStakingCall__Outputs(this); + get to(): Address { + return this._call.inputValues[1].value.toAddress(); } } -export class SetLTYStakingCall__Inputs { - _call: SetLTYStakingCall; +export class StartRewardsRedirectionCall__Outputs { + _call: StartRewardsRedirectionCall; - constructor(call: SetLTYStakingCall) { + constructor(call: StartRewardsRedirectionCall) { this._call = call; } - - get _contract(): Address { - return this._call.inputValues[0].value.toAddress(); - } } -export class SetLTYStakingCall__Outputs { - _call: SetLTYStakingCall; - - constructor(call: SetLTYStakingCall) { - this._call = call; +export class StopRewardsRedirectionCall extends ethereum.Call { + get inputs(): StopRewardsRedirectionCall__Inputs { + return new StopRewardsRedirectionCall__Inputs(this); } -} -export class SetRetentionRateCall extends ethereum.Call { - get inputs(): SetRetentionRateCall__Inputs { - return new SetRetentionRateCall__Inputs(this); - } - - get outputs(): SetRetentionRateCall__Outputs { - return new SetRetentionRateCall__Outputs(this); - } -} - -export class SetRetentionRateCall__Inputs { - _call: SetRetentionRateCall; - - constructor(call: SetRetentionRateCall) { - this._call = call; - } - - get _retentionRateUD3(): BigInt { - return this._call.inputValues[0].value.toBigInt(); + get outputs(): StopRewardsRedirectionCall__Outputs { + return new StopRewardsRedirectionCall__Outputs(this); } } -export class SetRetentionRateCall__Outputs { - _call: SetRetentionRateCall; +export class StopRewardsRedirectionCall__Inputs { + _call: StopRewardsRedirectionCall; - constructor(call: SetRetentionRateCall) { + constructor(call: StopRewardsRedirectionCall) { this._call = call; } -} - -export class SetWithdrawerCall extends ethereum.Call { - get inputs(): SetWithdrawerCall__Inputs { - return new SetWithdrawerCall__Inputs(this); - } - - get outputs(): SetWithdrawerCall__Outputs { - return new SetWithdrawerCall__Outputs(this); - } -} -export class SetWithdrawerCall__Inputs { - _call: SetWithdrawerCall; - - constructor(call: SetWithdrawerCall) { - this._call = call; + get from(): Address { + return this._call.inputValues[0].value.toAddress(); } - get _withdrawer(): Address { - return this._call.inputValues[0].value.toAddress(); + get to(): Address { + return this._call.inputValues[1].value.toAddress(); } } -export class SetWithdrawerCall__Outputs { - _call: SetWithdrawerCall; +export class StopRewardsRedirectionCall__Outputs { + _call: StopRewardsRedirectionCall; - constructor(call: SetWithdrawerCall) { + constructor(call: StopRewardsRedirectionCall) { this._call = call; } } @@ -1905,28 +2083,32 @@ export class TransferFromCall__Outputs { } } -export class UnpauseCall extends ethereum.Call { - get inputs(): UnpauseCall__Inputs { - return new UnpauseCall__Inputs(this); +export class UnlistenToTransfersCall extends ethereum.Call { + get inputs(): UnlistenToTransfersCall__Inputs { + return new UnlistenToTransfersCall__Inputs(this); } - get outputs(): UnpauseCall__Outputs { - return new UnpauseCall__Outputs(this); + get outputs(): UnlistenToTransfersCall__Outputs { + return new UnlistenToTransfersCall__Outputs(this); } } -export class UnpauseCall__Inputs { - _call: UnpauseCall; +export class UnlistenToTransfersCall__Inputs { + _call: UnlistenToTransfersCall; - constructor(call: UnpauseCall) { + constructor(call: UnlistenToTransfersCall) { this._call = call; } + + get listenerContract(): Address { + return this._call.inputValues[0].value.toAddress(); + } } -export class UnpauseCall__Outputs { - _call: UnpauseCall; +export class UnlistenToTransfersCall__Outputs { + _call: UnlistenToTransfersCall; - constructor(call: UnpauseCall) { + constructor(call: UnlistenToTransfersCall) { this._call = call; } } diff --git a/subgraph/generated/LTokenSignaler/LTokenSignaler.ts b/subgraph/generated/LTokenSignaler/LTokenSignaler.ts index 530c08c9..1d03bea7 100644 --- a/subgraph/generated/LTokenSignaler/LTokenSignaler.ts +++ b/subgraph/generated/LTokenSignaler/LTokenSignaler.ts @@ -224,7 +224,7 @@ export class InitializeCall__Inputs { this._call = call; } - get _globalOwner(): Address { + get globalOwner_(): Address { return this._call.inputValues[0].value.toAddress(); } } @@ -237,62 +237,6 @@ export class InitializeCall__Outputs { } } -export class RenounceOwnershipCall extends ethereum.Call { - get inputs(): RenounceOwnershipCall__Inputs { - return new RenounceOwnershipCall__Inputs(this); - } - - get outputs(): RenounceOwnershipCall__Outputs { - return new RenounceOwnershipCall__Outputs(this); - } -} - -export class RenounceOwnershipCall__Inputs { - _call: RenounceOwnershipCall; - - constructor(call: RenounceOwnershipCall) { - this._call = call; - } -} - -export class RenounceOwnershipCall__Outputs { - _call: RenounceOwnershipCall; - - constructor(call: RenounceOwnershipCall) { - this._call = call; - } -} - -export class SetGlobalOwnerCall extends ethereum.Call { - get inputs(): SetGlobalOwnerCall__Inputs { - return new SetGlobalOwnerCall__Inputs(this); - } - - get outputs(): SetGlobalOwnerCall__Outputs { - return new SetGlobalOwnerCall__Outputs(this); - } -} - -export class SetGlobalOwnerCall__Inputs { - _call: SetGlobalOwnerCall; - - constructor(call: SetGlobalOwnerCall) { - this._call = call; - } - - get contractAddress(): Address { - return this._call.inputValues[0].value.toAddress(); - } -} - -export class SetGlobalOwnerCall__Outputs { - _call: SetGlobalOwnerCall; - - constructor(call: SetGlobalOwnerCall) { - this._call = call; - } -} - export class SignalLTokenCall extends ethereum.Call { get inputs(): SignalLTokenCall__Inputs { return new SignalLTokenCall__Inputs(this); diff --git a/subgraph/generated/schema.ts b/subgraph/generated/schema.ts index 6f179f0c..6a9e7321 100644 --- a/subgraph/generated/schema.ts +++ b/subgraph/generated/schema.ts @@ -89,16 +89,16 @@ export class LToken extends Entity { this.set("totalMintedRewards", Value.fromBigDecimal(value)); } - get tvlUpdates(): TVLUpdateLoader { - return new TVLUpdateLoader( + get tvlUpdates(): TVLChangeLoader { + return new TVLChangeLoader( "LToken", this.get("id")!.toString(), "tvlUpdates" ); } - get aprUpdates(): APRUpdateLoader { - return new APRUpdateLoader( + get aprUpdates(): APRChangeLoader { + return new APRChangeLoader( "LToken", this.get("id")!.toString(), "aprUpdates" @@ -122,7 +122,7 @@ export class LToken extends Entity { } } -export class TVLUpdate extends Entity { +export class TVLChange extends Entity { constructor(id: string) { super(); this.set("id", Value.fromString(id)); @@ -130,22 +130,22 @@ export class TVLUpdate extends Entity { save(): void { let id = this.get("id"); - assert(id != null, "Cannot save TVLUpdate entity without an ID"); + assert(id != null, "Cannot save TVLChange entity without an ID"); if (id) { assert( id.kind == ValueKind.STRING, - `Entities of type TVLUpdate must have an ID of type String but the id '${id.displayData()}' is of type ${id.displayKind()}` + `Entities of type TVLChange must have an ID of type String but the id '${id.displayData()}' is of type ${id.displayKind()}` ); - store.set("TVLUpdate", id.toString(), this); + store.set("TVLChange", id.toString(), this); } } - static loadInBlock(id: string): TVLUpdate | null { - return changetype(store.get_in_block("TVLUpdate", id)); + static loadInBlock(id: string): TVLChange | null { + return changetype(store.get_in_block("TVLChange", id)); } - static load(id: string): TVLUpdate | null { - return changetype(store.get("TVLUpdate", id)); + static load(id: string): TVLChange | null { + return changetype(store.get("TVLChange", id)); } get id(): string { @@ -201,7 +201,7 @@ export class TVLUpdate extends Entity { } } -export class APRUpdate extends Entity { +export class APRChange extends Entity { constructor(id: string) { super(); this.set("id", Value.fromString(id)); @@ -209,22 +209,22 @@ export class APRUpdate extends Entity { save(): void { let id = this.get("id"); - assert(id != null, "Cannot save APRUpdate entity without an ID"); + assert(id != null, "Cannot save APRChange entity without an ID"); if (id) { assert( id.kind == ValueKind.STRING, - `Entities of type APRUpdate must have an ID of type String but the id '${id.displayData()}' is of type ${id.displayKind()}` + `Entities of type APRChange must have an ID of type String but the id '${id.displayData()}' is of type ${id.displayKind()}` ); - store.set("APRUpdate", id.toString(), this); + store.set("APRChange", id.toString(), this); } } - static loadInBlock(id: string): APRUpdate | null { - return changetype(store.get_in_block("APRUpdate", id)); + static loadInBlock(id: string): APRChange | null { + return changetype(store.get_in_block("APRChange", id)); } - static load(id: string): APRUpdate | null { - return changetype(store.get("APRUpdate", id)); + static load(id: string): APRChange | null { + return changetype(store.get("APRChange", id)); } get id(): string { @@ -544,7 +544,7 @@ export class RewardsMint extends Entity { } } -export class LTYStaking extends Entity { +export class LDYStaking extends Entity { constructor(id: string) { super(); this.set("id", Value.fromString(id)); @@ -552,22 +552,22 @@ export class LTYStaking extends Entity { save(): void { let id = this.get("id"); - assert(id != null, "Cannot save LTYStaking entity without an ID"); + assert(id != null, "Cannot save LDYStaking entity without an ID"); if (id) { assert( id.kind == ValueKind.STRING, - `Entities of type LTYStaking must have an ID of type String but the id '${id.displayData()}' is of type ${id.displayKind()}` + `Entities of type LDYStaking must have an ID of type String but the id '${id.displayData()}' is of type ${id.displayKind()}` ); - store.set("LTYStaking", id.toString(), this); + store.set("LDYStaking", id.toString(), this); } } - static loadInBlock(id: string): LTYStaking | null { - return changetype(store.get_in_block("LTYStaking", id)); + static loadInBlock(id: string): LDYStaking | null { + return changetype(store.get_in_block("LDYStaking", id)); } - static load(id: string): LTYStaking | null { - return changetype(store.get("LTYStaking", id)); + static load(id: string): LDYStaking | null { + return changetype(store.get("LDYStaking", id)); } get id(): string { @@ -585,7 +585,7 @@ export class LTYStaking extends Entity { get totalStakedUpdates(): TotalStakedUpdateLoader { return new TotalStakedUpdateLoader( - "LTYStaking", + "LDYStaking", this.get("id")!.toString(), "totalStakedUpdates" ); @@ -675,7 +675,7 @@ export class TotalStakedUpdate extends Entity { } } -export class TVLUpdateLoader extends Entity { +export class TVLChangeLoader extends Entity { _entity: string; _field: string; _id: string; @@ -687,13 +687,13 @@ export class TVLUpdateLoader extends Entity { this._field = field; } - load(): TVLUpdate[] { + load(): TVLChange[] { let value = store.loadRelated(this._entity, this._id, this._field); - return changetype(value); + return changetype(value); } } -export class APRUpdateLoader extends Entity { +export class APRChangeLoader extends Entity { _entity: string; _field: string; _id: string; @@ -705,9 +705,9 @@ export class APRUpdateLoader extends Entity { this._field = field; } - load(): APRUpdate[] { + load(): APRChange[] { let value = store.loadRelated(this._entity, this._id, this._field); - return changetype(value); + return changetype(value); } } diff --git a/subgraph/generated/templates/LToken/LToken.ts b/subgraph/generated/templates/LToken/LToken.ts index 77fd8130..58fc361b 100644 --- a/subgraph/generated/templates/LToken/LToken.ts +++ b/subgraph/generated/templates/LToken/LToken.ts @@ -10,20 +10,20 @@ import { BigInt } from "@graphprotocol/graph-ts"; -export class APRUpdateEvent extends ethereum.Event { - get params(): APRUpdateEvent__Params { - return new APRUpdateEvent__Params(this); +export class APRChangeEvent extends ethereum.Event { + get params(): APRChangeEvent__Params { + return new APRChangeEvent__Params(this); } } -export class APRUpdateEvent__Params { - _event: APRUpdateEvent; +export class APRChangeEvent__Params { + _event: APRChangeEvent; - constructor(event: APRUpdateEvent) { + constructor(event: APRChangeEvent) { this._event = event; } - get newAPR(): i32 { + get newAPRUD7x3(): i32 { return this._event.parameters[0].value.toI32(); } } @@ -216,16 +216,16 @@ export class Paused__Params { } } -export class TVLUpdateEvent extends ethereum.Event { - get params(): TVLUpdateEvent__Params { - return new TVLUpdateEvent__Params(this); +export class TVLChangeEvent extends ethereum.Event { + get params(): TVLChangeEvent__Params { + return new TVLChangeEvent__Params(this); } } -export class TVLUpdateEvent__Params { - _event: TVLUpdateEvent; +export class TVLChangeEvent__Params { + _event: TVLChangeEvent; - constructor(event: TVLUpdateEvent) { + constructor(event: TVLChangeEvent) { this._event = event; } @@ -296,7 +296,32 @@ export class Upgraded__Params { } } -export class LToken__getWithdrawanAmountAndFeesResult { +export class LToken__frozenRequestsResult { + value0: Address; + value1: BigInt; + + constructor(value0: Address, value1: BigInt) { + this.value0 = value0; + this.value1 = value1; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", ethereum.Value.fromAddress(this.value0)); + map.set("value1", ethereum.Value.fromUnsignedBigInt(this.value1)); + return map; + } + + getAccount(): Address { + return this.value0; + } + + getAmount(): BigInt { + return this.value1; + } +} + +export class LToken__getWithdrawnAmountAndFeesResult { value0: BigInt; value1: BigInt; @@ -321,6 +346,31 @@ export class LToken__getWithdrawanAmountAndFeesResult { } } +export class LToken__withdrawalQueueResult { + value0: Address; + value1: BigInt; + + constructor(value0: Address, value1: BigInt) { + this.value0 = value0; + this.value1 = value1; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", ethereum.Value.fromAddress(this.value0)); + map.set("value1", ethereum.Value.fromUnsignedBigInt(this.value1)); + return map; + } + + getAccount(): Address { + return this.value0; + } + + getAmount(): BigInt { + return this.value1; + } +} + export class LToken extends ethereum.SmartContract { static bind(address: Address): LToken { return new LToken("LToken", address); @@ -468,14 +518,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBoolean()); } - feesRateUD3(): BigInt { - let result = super.call("feesRateUD3", "feesRateUD3():(uint32)", []); + feesRateUD7x3(): BigInt { + let result = super.call("feesRateUD7x3", "feesRateUD7x3():(uint32)", []); return result[0].toBigInt(); } - try_feesRateUD3(): ethereum.CallResult { - let result = super.tryCall("feesRateUD3", "feesRateUD3():(uint32)", []); + try_feesRateUD7x3(): ethereum.CallResult { + let result = super.tryCall("feesRateUD7x3", "feesRateUD7x3():(uint32)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -483,6 +533,39 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } + frozenRequests(param0: BigInt): LToken__frozenRequestsResult { + let result = super.call( + "frozenRequests", + "frozenRequests(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + + return new LToken__frozenRequestsResult( + result[0].toAddress(), + result[1].toBigInt() + ); + } + + try_frozenRequests( + param0: BigInt + ): ethereum.CallResult { + let result = super.tryCall( + "frozenRequests", + "frozenRequests(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue( + new LToken__frozenRequestsResult( + value[0].toAddress(), + value[1].toBigInt() + ) + ); + } + fund(): Address { let result = super.call("fund", "fund():(address)", []); @@ -498,14 +581,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - getApr(): i32 { - let result = super.call("getApr", "getApr():(uint16)", []); + getAPR(): i32 { + let result = super.call("getAPR", "getAPR():(uint16)", []); return result[0].toI32(); } - try_getApr(): ethereum.CallResult { - let result = super.tryCall("getApr", "getApr():(uint16)", []); + try_getAPR(): ethereum.CallResult { + let result = super.tryCall("getAPR", "getAPR():(uint16)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -536,32 +619,32 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } - getWithdrawanAmountAndFees( + getWithdrawnAmountAndFees( account: Address, amount: BigInt - ): LToken__getWithdrawanAmountAndFeesResult { + ): LToken__getWithdrawnAmountAndFeesResult { let result = super.call( - "getWithdrawanAmountAndFees", - "getWithdrawanAmountAndFees(address,uint256):(uint256,uint256)", + "getWithdrawnAmountAndFees", + "getWithdrawnAmountAndFees(address,uint256):(uint256,uint256)", [ ethereum.Value.fromAddress(account), ethereum.Value.fromUnsignedBigInt(amount) ] ); - return new LToken__getWithdrawanAmountAndFeesResult( + return new LToken__getWithdrawnAmountAndFeesResult( result[0].toBigInt(), result[1].toBigInt() ); } - try_getWithdrawanAmountAndFees( + try_getWithdrawnAmountAndFees( account: Address, amount: BigInt - ): ethereum.CallResult { + ): ethereum.CallResult { let result = super.tryCall( - "getWithdrawanAmountAndFees", - "getWithdrawanAmountAndFees(address,uint256):(uint256,uint256)", + "getWithdrawnAmountAndFees", + "getWithdrawnAmountAndFees(address,uint256):(uint256,uint256)", [ ethereum.Value.fromAddress(account), ethereum.Value.fromUnsignedBigInt(amount) @@ -572,7 +655,7 @@ export class LToken extends ethereum.SmartContract { } let value = result.value; return ethereum.CallResult.fromValue( - new LToken__getWithdrawanAmountAndFeesResult( + new LToken__getWithdrawnAmountAndFeesResult( value[0].toBigInt(), value[1].toBigInt() ) @@ -617,14 +700,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - globalPauser(): Address { - let result = super.call("globalPauser", "globalPauser():(address)", []); + globalPause(): Address { + let result = super.call("globalPause", "globalPause():(address)", []); return result[0].toAddress(); } - try_globalPauser(): ethereum.CallResult
{ - let result = super.tryCall("globalPauser", "globalPauser():(address)", []); + try_globalPause(): ethereum.CallResult
{ + let result = super.tryCall("globalPause", "globalPause():(address)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -679,14 +762,14 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - ltyStaking(): Address { - let result = super.call("ltyStaking", "ltyStaking():(address)", []); + ldyStaking(): Address { + let result = super.call("ldyStaking", "ldyStaking():(address)", []); return result[0].toAddress(); } - try_ltyStaking(): ethereum.CallResult
{ - let result = super.tryCall("ltyStaking", "ltyStaking():(address)", []); + try_ldyStaking(): ethereum.CallResult
{ + let result = super.tryCall("ldyStaking", "ldyStaking():(address)", []); if (result.reverted) { return new ethereum.CallResult(); } @@ -781,20 +864,20 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } - retentionRateUD3(): BigInt { + realTotalSupply(): BigInt { let result = super.call( - "retentionRateUD3", - "retentionRateUD3():(uint32)", + "realTotalSupply", + "realTotalSupply():(uint256)", [] ); return result[0].toBigInt(); } - try_retentionRateUD3(): ethereum.CallResult { + try_realTotalSupply(): ethereum.CallResult { let result = super.tryCall( - "retentionRateUD3", - "retentionRateUD3():(uint32)", + "realTotalSupply", + "realTotalSupply():(uint256)", [] ); if (result.reverted) { @@ -804,6 +887,84 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBigInt()); } + retentionRateUD7x3(): BigInt { + let result = super.call( + "retentionRateUD7x3", + "retentionRateUD7x3():(uint32)", + [] + ); + + return result[0].toBigInt(); + } + + try_retentionRateUD7x3(): ethereum.CallResult { + let result = super.tryCall( + "retentionRateUD7x3", + "retentionRateUD7x3():(uint32)", + [] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + rewardsRedirectsFromTo(param0: Address): Address { + let result = super.call( + "rewardsRedirectsFromTo", + "rewardsRedirectsFromTo(address):(address)", + [ethereum.Value.fromAddress(param0)] + ); + + return result[0].toAddress(); + } + + try_rewardsRedirectsFromTo(param0: Address): ethereum.CallResult
{ + let result = super.tryCall( + "rewardsRedirectsFromTo", + "rewardsRedirectsFromTo(address):(address)", + [ethereum.Value.fromAddress(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toAddress()); + } + + rewardsRedirectsToFrom(param0: Address, param1: BigInt): Address { + let result = super.call( + "rewardsRedirectsToFrom", + "rewardsRedirectsToFrom(address,uint256):(address)", + [ + ethereum.Value.fromAddress(param0), + ethereum.Value.fromUnsignedBigInt(param1) + ] + ); + + return result[0].toAddress(); + } + + try_rewardsRedirectsToFrom( + param0: Address, + param1: BigInt + ): ethereum.CallResult
{ + let result = super.tryCall( + "rewardsRedirectsToFrom", + "rewardsRedirectsToFrom(address,uint256):(address)", + [ + ethereum.Value.fromAddress(param0), + ethereum.Value.fromUnsignedBigInt(param1) + ] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toAddress()); + } + symbol(): string { let result = super.call("symbol", "symbol():(string)", []); @@ -905,6 +1066,29 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBoolean()); } + transfersListeners(param0: BigInt): Address { + let result = super.call( + "transfersListeners", + "transfersListeners(uint256):(address)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + + return result[0].toAddress(); + } + + try_transfersListeners(param0: BigInt): ethereum.CallResult
{ + let result = super.tryCall( + "transfersListeners", + "transfersListeners(uint256):(address)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toAddress()); + } + unclaimedFees(): BigInt { let result = super.call("unclaimedFees", "unclaimedFees():(uint256)", []); @@ -939,16 +1123,43 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toAddress()); } - usableBalance(): BigInt { - let result = super.call("usableBalance", "usableBalance():(uint256)", []); + unmintedRewardsOf(account: Address): BigInt { + let result = super.call( + "unmintedRewardsOf", + "unmintedRewardsOf(address):(uint256)", + [ethereum.Value.fromAddress(account)] + ); return result[0].toBigInt(); } - try_usableBalance(): ethereum.CallResult { + try_unmintedRewardsOf(account: Address): ethereum.CallResult { let result = super.tryCall( - "usableBalance", - "usableBalance():(uint256)", + "unmintedRewardsOf", + "unmintedRewardsOf(address):(uint256)", + [ethereum.Value.fromAddress(account)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue(value[0].toBigInt()); + } + + usableUnderlyings(): BigInt { + let result = super.call( + "usableUnderlyings", + "usableUnderlyings():(uint256)", + [] + ); + + return result[0].toBigInt(); + } + + try_usableUnderlyings(): ethereum.CallResult { + let result = super.tryCall( + "usableUnderlyings", + "usableUnderlyings():(uint256)", [] ); if (result.reverted) { @@ -990,21 +1201,54 @@ export class LToken extends ethereum.SmartContract { return ethereum.CallResult.fromValue(value[0].toBoolean()); } - withdrawalRequestAmount(requestId: BigInt): BigInt { + withdrawalQueue(param0: BigInt): LToken__withdrawalQueueResult { + let result = super.call( + "withdrawalQueue", + "withdrawalQueue(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + + return new LToken__withdrawalQueueResult( + result[0].toAddress(), + result[1].toBigInt() + ); + } + + try_withdrawalQueue( + param0: BigInt + ): ethereum.CallResult { + let result = super.tryCall( + "withdrawalQueue", + "withdrawalQueue(uint256):(address,uint96)", + [ethereum.Value.fromUnsignedBigInt(param0)] + ); + if (result.reverted) { + return new ethereum.CallResult(); + } + let value = result.value; + return ethereum.CallResult.fromValue( + new LToken__withdrawalQueueResult( + value[0].toAddress(), + value[1].toBigInt() + ) + ); + } + + withdrawalQueueCursor(): BigInt { let result = super.call( - "withdrawalRequestAmount", - "withdrawalRequestAmount(uint256):(uint256)", - [ethereum.Value.fromUnsignedBigInt(requestId)] + "withdrawalQueueCursor", + "withdrawalQueueCursor():(uint256)", + [] ); return result[0].toBigInt(); } - try_withdrawalRequestAmount(requestId: BigInt): ethereum.CallResult { + try_withdrawalQueueCursor(): ethereum.CallResult { let result = super.tryCall( - "withdrawalRequestAmount", - "withdrawalRequestAmount(uint256):(uint256)", - [ethereum.Value.fromUnsignedBigInt(requestId)] + "withdrawalQueueCursor", + "withdrawalQueueCursor():(uint256)", + [] ); if (result.reverted) { return new ethereum.CallResult(); @@ -1067,66 +1311,6 @@ export class ApproveCall__Outputs { } } -export class BatchQueuedWithdrawCall extends ethereum.Call { - get inputs(): BatchQueuedWithdrawCall__Inputs { - return new BatchQueuedWithdrawCall__Inputs(this); - } - - get outputs(): BatchQueuedWithdrawCall__Outputs { - return new BatchQueuedWithdrawCall__Outputs(this); - } -} - -export class BatchQueuedWithdrawCall__Inputs { - _call: BatchQueuedWithdrawCall; - - constructor(call: BatchQueuedWithdrawCall) { - this._call = call; - } - - get requestIds(): Array { - return this._call.inputValues[0].value.toBigIntArray(); - } -} - -export class BatchQueuedWithdrawCall__Outputs { - _call: BatchQueuedWithdrawCall; - - constructor(call: BatchQueuedWithdrawCall) { - this._call = call; - } -} - -export class BigQueuedWithdrawCall extends ethereum.Call { - get inputs(): BigQueuedWithdrawCall__Inputs { - return new BigQueuedWithdrawCall__Inputs(this); - } - - get outputs(): BigQueuedWithdrawCall__Outputs { - return new BigQueuedWithdrawCall__Outputs(this); - } -} - -export class BigQueuedWithdrawCall__Inputs { - _call: BigQueuedWithdrawCall; - - constructor(call: BigQueuedWithdrawCall) { - this._call = call; - } - - get requestId(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class BigQueuedWithdrawCall__Outputs { - _call: BigQueuedWithdrawCall; - - constructor(call: BigQueuedWithdrawCall) { - this._call = call; - } -} - export class CancelWithdrawalRequestCall extends ethereum.Call { get inputs(): CancelWithdrawalRequestCall__Inputs { return new CancelWithdrawalRequestCall__Inputs(this); @@ -1251,36 +1435,6 @@ export class DepositCall__Outputs { } } -export class FundContractCall extends ethereum.Call { - get inputs(): FundContractCall__Inputs { - return new FundContractCall__Inputs(this); - } - - get outputs(): FundContractCall__Outputs { - return new FundContractCall__Outputs(this); - } -} - -export class FundContractCall__Inputs { - _call: FundContractCall; - - constructor(call: FundContractCall) { - this._call = call; - } - - get amount(): BigInt { - return this._call.inputValues[0].value.toBigInt(); - } -} - -export class FundContractCall__Outputs { - _call: FundContractCall; - - constructor(call: FundContractCall) { - this._call = call; - } -} - export class IncreaseAllowanceCall extends ethereum.Call { get inputs(): IncreaseAllowanceCall__Inputs { return new IncreaseAllowanceCall__Inputs(this); @@ -1336,13 +1490,25 @@ export class InitializeCall__Inputs { this._call = call; } - get _globalOwner(): Address { + get globalOwner_(): Address { return this._call.inputValues[0].value.toAddress(); } - get underlyingToken(): Address { + get globalPause_(): Address { return this._call.inputValues[1].value.toAddress(); } + + get globalBlacklist_(): Address { + return this._call.inputValues[2].value.toAddress(); + } + + get ldyStaking_(): Address { + return this._call.inputValues[3].value.toAddress(); + } + + get underlyingToken(): Address { + return this._call.inputValues[4].value.toAddress(); + } } export class InitializeCall__Outputs { @@ -1353,20 +1519,20 @@ export class InitializeCall__Outputs { } } -export class InstantWithdrawCall extends ethereum.Call { - get inputs(): InstantWithdrawCall__Inputs { - return new InstantWithdrawCall__Inputs(this); +export class InstantWithdrawalCall extends ethereum.Call { + get inputs(): InstantWithdrawalCall__Inputs { + return new InstantWithdrawalCall__Inputs(this); } - get outputs(): InstantWithdrawCall__Outputs { - return new InstantWithdrawCall__Outputs(this); + get outputs(): InstantWithdrawalCall__Outputs { + return new InstantWithdrawalCall__Outputs(this); } } -export class InstantWithdrawCall__Inputs { - _call: InstantWithdrawCall; +export class InstantWithdrawalCall__Inputs { + _call: InstantWithdrawalCall; - constructor(call: InstantWithdrawCall) { + constructor(call: InstantWithdrawalCall) { this._call = call; } @@ -1375,36 +1541,96 @@ export class InstantWithdrawCall__Inputs { } } -export class InstantWithdrawCall__Outputs { - _call: InstantWithdrawCall; +export class InstantWithdrawalCall__Outputs { + _call: InstantWithdrawalCall; - constructor(call: InstantWithdrawCall) { + constructor(call: InstantWithdrawalCall) { this._call = call; } } -export class PauseCall extends ethereum.Call { - get inputs(): PauseCall__Inputs { - return new PauseCall__Inputs(this); +export class ListenToTransfersCall extends ethereum.Call { + get inputs(): ListenToTransfersCall__Inputs { + return new ListenToTransfersCall__Inputs(this); } - get outputs(): PauseCall__Outputs { - return new PauseCall__Outputs(this); + get outputs(): ListenToTransfersCall__Outputs { + return new ListenToTransfersCall__Outputs(this); } } -export class PauseCall__Inputs { - _call: PauseCall; +export class ListenToTransfersCall__Inputs { + _call: ListenToTransfersCall; - constructor(call: PauseCall) { + constructor(call: ListenToTransfersCall) { this._call = call; } + + get listenerContract(): Address { + return this._call.inputValues[0].value.toAddress(); + } } -export class PauseCall__Outputs { - _call: PauseCall; +export class ListenToTransfersCall__Outputs { + _call: ListenToTransfersCall; - constructor(call: PauseCall) { + constructor(call: ListenToTransfersCall) { + this._call = call; + } +} + +export class ProcessBigQueuedRequestCall extends ethereum.Call { + get inputs(): ProcessBigQueuedRequestCall__Inputs { + return new ProcessBigQueuedRequestCall__Inputs(this); + } + + get outputs(): ProcessBigQueuedRequestCall__Outputs { + return new ProcessBigQueuedRequestCall__Outputs(this); + } +} + +export class ProcessBigQueuedRequestCall__Inputs { + _call: ProcessBigQueuedRequestCall; + + constructor(call: ProcessBigQueuedRequestCall) { + this._call = call; + } + + get requestId(): BigInt { + return this._call.inputValues[0].value.toBigInt(); + } +} + +export class ProcessBigQueuedRequestCall__Outputs { + _call: ProcessBigQueuedRequestCall; + + constructor(call: ProcessBigQueuedRequestCall) { + this._call = call; + } +} + +export class ProcessQueuedRequestsCall extends ethereum.Call { + get inputs(): ProcessQueuedRequestsCall__Inputs { + return new ProcessQueuedRequestsCall__Inputs(this); + } + + get outputs(): ProcessQueuedRequestsCall__Outputs { + return new ProcessQueuedRequestsCall__Outputs(this); + } +} + +export class ProcessQueuedRequestsCall__Inputs { + _call: ProcessQueuedRequestsCall; + + constructor(call: ProcessQueuedRequestsCall) { + this._call = call; + } +} + +export class ProcessQueuedRequestsCall__Outputs { + _call: ProcessQueuedRequestsCall; + + constructor(call: ProcessQueuedRequestsCall) { this._call = call; } } @@ -1469,28 +1695,32 @@ export class RecoverUnderlyingCall__Outputs { } } -export class RenounceOwnershipCall extends ethereum.Call { - get inputs(): RenounceOwnershipCall__Inputs { - return new RenounceOwnershipCall__Inputs(this); +export class RepatriateCall extends ethereum.Call { + get inputs(): RepatriateCall__Inputs { + return new RepatriateCall__Inputs(this); } - get outputs(): RenounceOwnershipCall__Outputs { - return new RenounceOwnershipCall__Outputs(this); + get outputs(): RepatriateCall__Outputs { + return new RepatriateCall__Outputs(this); } } -export class RenounceOwnershipCall__Inputs { - _call: RenounceOwnershipCall; +export class RepatriateCall__Inputs { + _call: RepatriateCall; - constructor(call: RenounceOwnershipCall) { + constructor(call: RepatriateCall) { this._call = call; } + + get amount(): BigInt { + return this._call.inputValues[0].value.toBigInt(); + } } -export class RenounceOwnershipCall__Outputs { - _call: RenounceOwnershipCall; +export class RepatriateCall__Outputs { + _call: RepatriateCall; - constructor(call: RenounceOwnershipCall) { + constructor(call: RepatriateCall) { this._call = call; } } @@ -1542,7 +1772,7 @@ export class SetAPRCall__Inputs { this._call = call; } - get aprUD3(): i32 { + get aprUD7x3(): i32 { return this._call.inputValues[0].value.toI32(); } } @@ -1572,7 +1802,7 @@ export class SetFeesRateCall__Inputs { this._call = call; } - get _feesRateUD3(): BigInt { + get feesRateUD7x3_(): BigInt { return this._call.inputValues[0].value.toBigInt(); } } @@ -1602,7 +1832,7 @@ export class SetFundCall__Inputs { this._call = call; } - get _fund(): Address { + get fund_(): Address { return this._call.inputValues[0].value.toAddress(); } } @@ -1615,212 +1845,160 @@ export class SetFundCall__Outputs { } } -export class SetGlobalBlacklistCall extends ethereum.Call { - get inputs(): SetGlobalBlacklistCall__Inputs { - return new SetGlobalBlacklistCall__Inputs(this); +export class SetLDYStakingCall extends ethereum.Call { + get inputs(): SetLDYStakingCall__Inputs { + return new SetLDYStakingCall__Inputs(this); } - get outputs(): SetGlobalBlacklistCall__Outputs { - return new SetGlobalBlacklistCall__Outputs(this); + get outputs(): SetLDYStakingCall__Outputs { + return new SetLDYStakingCall__Outputs(this); } } -export class SetGlobalBlacklistCall__Inputs { - _call: SetGlobalBlacklistCall; +export class SetLDYStakingCall__Inputs { + _call: SetLDYStakingCall; - constructor(call: SetGlobalBlacklistCall) { + constructor(call: SetLDYStakingCall) { this._call = call; } - get contractAddress(): Address { + get ldyStakingAddress(): Address { return this._call.inputValues[0].value.toAddress(); } } -export class SetGlobalBlacklistCall__Outputs { - _call: SetGlobalBlacklistCall; +export class SetLDYStakingCall__Outputs { + _call: SetLDYStakingCall; - constructor(call: SetGlobalBlacklistCall) { + constructor(call: SetLDYStakingCall) { this._call = call; } } -export class SetGlobalOwnerCall extends ethereum.Call { - get inputs(): SetGlobalOwnerCall__Inputs { - return new SetGlobalOwnerCall__Inputs(this); +export class SetRetentionRateCall extends ethereum.Call { + get inputs(): SetRetentionRateCall__Inputs { + return new SetRetentionRateCall__Inputs(this); } - get outputs(): SetGlobalOwnerCall__Outputs { - return new SetGlobalOwnerCall__Outputs(this); + get outputs(): SetRetentionRateCall__Outputs { + return new SetRetentionRateCall__Outputs(this); } } -export class SetGlobalOwnerCall__Inputs { - _call: SetGlobalOwnerCall; +export class SetRetentionRateCall__Inputs { + _call: SetRetentionRateCall; - constructor(call: SetGlobalOwnerCall) { + constructor(call: SetRetentionRateCall) { this._call = call; } - get contractAddress(): Address { - return this._call.inputValues[0].value.toAddress(); + get retentionRateUD7x3_(): BigInt { + return this._call.inputValues[0].value.toBigInt(); } } -export class SetGlobalOwnerCall__Outputs { - _call: SetGlobalOwnerCall; +export class SetRetentionRateCall__Outputs { + _call: SetRetentionRateCall; - constructor(call: SetGlobalOwnerCall) { + constructor(call: SetRetentionRateCall) { this._call = call; } } -export class SetGlobalPauserCall extends ethereum.Call { - get inputs(): SetGlobalPauserCall__Inputs { - return new SetGlobalPauserCall__Inputs(this); +export class SetWithdrawerCall extends ethereum.Call { + get inputs(): SetWithdrawerCall__Inputs { + return new SetWithdrawerCall__Inputs(this); } - get outputs(): SetGlobalPauserCall__Outputs { - return new SetGlobalPauserCall__Outputs(this); + get outputs(): SetWithdrawerCall__Outputs { + return new SetWithdrawerCall__Outputs(this); } } -export class SetGlobalPauserCall__Inputs { - _call: SetGlobalPauserCall; +export class SetWithdrawerCall__Inputs { + _call: SetWithdrawerCall; - constructor(call: SetGlobalPauserCall) { + constructor(call: SetWithdrawerCall) { this._call = call; } - get contractAddress(): Address { + get withdrawer_(): Address { return this._call.inputValues[0].value.toAddress(); } } -export class SetGlobalPauserCall__Outputs { - _call: SetGlobalPauserCall; +export class SetWithdrawerCall__Outputs { + _call: SetWithdrawerCall; - constructor(call: SetGlobalPauserCall) { + constructor(call: SetWithdrawerCall) { this._call = call; } } -export class SetInvestedCall extends ethereum.Call { - get inputs(): SetInvestedCall__Inputs { - return new SetInvestedCall__Inputs(this); +export class StartRewardsRedirectionCall extends ethereum.Call { + get inputs(): StartRewardsRedirectionCall__Inputs { + return new StartRewardsRedirectionCall__Inputs(this); } - get outputs(): SetInvestedCall__Outputs { - return new SetInvestedCall__Outputs(this); + get outputs(): StartRewardsRedirectionCall__Outputs { + return new StartRewardsRedirectionCall__Outputs(this); } } -export class SetInvestedCall__Inputs { - _call: SetInvestedCall; +export class StartRewardsRedirectionCall__Inputs { + _call: StartRewardsRedirectionCall; - constructor(call: SetInvestedCall) { + constructor(call: StartRewardsRedirectionCall) { this._call = call; } - get tokenAddress(): Address { + get from(): Address { return this._call.inputValues[0].value.toAddress(); } -} -export class SetInvestedCall__Outputs { - _call: SetInvestedCall; - - constructor(call: SetInvestedCall) { - this._call = call; - } -} - -export class SetLTYStakingCall extends ethereum.Call { - get inputs(): SetLTYStakingCall__Inputs { - return new SetLTYStakingCall__Inputs(this); - } - - get outputs(): SetLTYStakingCall__Outputs { - return new SetLTYStakingCall__Outputs(this); + get to(): Address { + return this._call.inputValues[1].value.toAddress(); } } -export class SetLTYStakingCall__Inputs { - _call: SetLTYStakingCall; +export class StartRewardsRedirectionCall__Outputs { + _call: StartRewardsRedirectionCall; - constructor(call: SetLTYStakingCall) { + constructor(call: StartRewardsRedirectionCall) { this._call = call; } - - get _contract(): Address { - return this._call.inputValues[0].value.toAddress(); - } } -export class SetLTYStakingCall__Outputs { - _call: SetLTYStakingCall; - - constructor(call: SetLTYStakingCall) { - this._call = call; +export class StopRewardsRedirectionCall extends ethereum.Call { + get inputs(): StopRewardsRedirectionCall__Inputs { + return new StopRewardsRedirectionCall__Inputs(this); } -} -export class SetRetentionRateCall extends ethereum.Call { - get inputs(): SetRetentionRateCall__Inputs { - return new SetRetentionRateCall__Inputs(this); - } - - get outputs(): SetRetentionRateCall__Outputs { - return new SetRetentionRateCall__Outputs(this); - } -} - -export class SetRetentionRateCall__Inputs { - _call: SetRetentionRateCall; - - constructor(call: SetRetentionRateCall) { - this._call = call; - } - - get _retentionRateUD3(): BigInt { - return this._call.inputValues[0].value.toBigInt(); + get outputs(): StopRewardsRedirectionCall__Outputs { + return new StopRewardsRedirectionCall__Outputs(this); } } -export class SetRetentionRateCall__Outputs { - _call: SetRetentionRateCall; +export class StopRewardsRedirectionCall__Inputs { + _call: StopRewardsRedirectionCall; - constructor(call: SetRetentionRateCall) { + constructor(call: StopRewardsRedirectionCall) { this._call = call; } -} - -export class SetWithdrawerCall extends ethereum.Call { - get inputs(): SetWithdrawerCall__Inputs { - return new SetWithdrawerCall__Inputs(this); - } - - get outputs(): SetWithdrawerCall__Outputs { - return new SetWithdrawerCall__Outputs(this); - } -} -export class SetWithdrawerCall__Inputs { - _call: SetWithdrawerCall; - - constructor(call: SetWithdrawerCall) { - this._call = call; + get from(): Address { + return this._call.inputValues[0].value.toAddress(); } - get _withdrawer(): Address { - return this._call.inputValues[0].value.toAddress(); + get to(): Address { + return this._call.inputValues[1].value.toAddress(); } } -export class SetWithdrawerCall__Outputs { - _call: SetWithdrawerCall; +export class StopRewardsRedirectionCall__Outputs { + _call: StopRewardsRedirectionCall; - constructor(call: SetWithdrawerCall) { + constructor(call: StopRewardsRedirectionCall) { this._call = call; } } @@ -1905,28 +2083,32 @@ export class TransferFromCall__Outputs { } } -export class UnpauseCall extends ethereum.Call { - get inputs(): UnpauseCall__Inputs { - return new UnpauseCall__Inputs(this); +export class UnlistenToTransfersCall extends ethereum.Call { + get inputs(): UnlistenToTransfersCall__Inputs { + return new UnlistenToTransfersCall__Inputs(this); } - get outputs(): UnpauseCall__Outputs { - return new UnpauseCall__Outputs(this); + get outputs(): UnlistenToTransfersCall__Outputs { + return new UnlistenToTransfersCall__Outputs(this); } } -export class UnpauseCall__Inputs { - _call: UnpauseCall; +export class UnlistenToTransfersCall__Inputs { + _call: UnlistenToTransfersCall; - constructor(call: UnpauseCall) { + constructor(call: UnlistenToTransfersCall) { this._call = call; } + + get listenerContract(): Address { + return this._call.inputValues[0].value.toAddress(); + } } -export class UnpauseCall__Outputs { - _call: UnpauseCall; +export class UnlistenToTransfersCall__Outputs { + _call: UnlistenToTransfersCall; - constructor(call: UnpauseCall) { + constructor(call: UnlistenToTransfersCall) { this._call = call; } } diff --git a/subgraph/localhost-subgraph.yaml b/subgraph/localhost-subgraph.yaml index 5d918ae2..5128e22d 100644 --- a/subgraph/localhost-subgraph.yaml +++ b/subgraph/localhost-subgraph.yaml @@ -1,30 +1,30 @@ specVersion: 0.0.6 -description: A subgraph of Ledgity DeFi data +description: A subgraph of Ledgity Yield data repository: https://github.com/ledgity-labs/dapp schema: file: ./schema.graphql dataSources: - - kind: ethereum/contract - name: LDYStaking - network: mainnet - source: - address: "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6" - abi: LDYStaking - startBlock: 0 - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - file: ./mapping.ts - entities: - - LDYStaking - - TotalStakedUpdate - abis: - - name: LDYStaking - file: ../hardhat/abis/LDYStaking.json - eventHandlers: - - event: TotalStakedUpdateEvent(uint256) - handler: handleTotalStakedEvent + # - kind: ethereum/contract + # name: LDYStaking + # network: mainnet + # source: + # address: "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6" + # abi: LDYStaking + # startBlock: 0 + # mapping: + # kind: ethereum/events + # apiVersion: 0.0.7 + # language: wasm/assemblyscript + # file: ./mapping.ts + # entities: + # - LDYStaking + # - TotalStakedUpdate + # abis: + # - name: LDYStaking + # file: ../contracts/abis/LDYStaking.json + # eventHandlers: + # - event: TotalStakedUpdateEvent(uint256) + # handler: handleTotalStakedEvent - kind: ethereum/contract name: LTokenSignaler @@ -42,9 +42,9 @@ dataSources: - LToken abis: - name: LTokenSignaler - file: ../hardhat/abis/LTokenSignaler.json + file: ../contracts/abis/LTokenSignaler.json - name: LToken - file: ../hardhat/abis/LToken.json + file: ../contracts/abis/LToken.json eventHandlers: - event: LTokenSignalEvent(indexed address) handler: handleSignaledLToken @@ -68,7 +68,7 @@ templates: - RewardsMint abis: - name: LToken - file: ../hardhat/abis/LToken.json + file: ../contracts/abis/LToken.json eventHandlers: - event: TVLChangeEvent(uint256) handler: handleTVLChangeEvent diff --git a/subgraph/mapping.ts b/subgraph/mapping.ts index e29df73c..3bacfb0c 100644 --- a/subgraph/mapping.ts +++ b/subgraph/mapping.ts @@ -16,8 +16,8 @@ import { TotalStakedUpdate, } from "./generated/schema"; import { BigDecimal, BigInt } from "@graphprotocol/graph-ts"; -import { TotalStakedUpdateEvent } from "./generated/LDYStaking/LDYStaking"; import { LTokenSignalEvent } from "./generated/LTokenSignaler/LTokenSignaler"; +// import { TotalStakedUpdateEvent } from "./generated/LDYStaking/LDYStaking"; export function handleSignaledLToken(event: LTokenSignalEvent): void { // Start indexing the signaled LToken @@ -53,7 +53,7 @@ export function handleAPRChangeEvent(event: APRChangeEvent): void { let aprUpdate = new APRChange(event.transaction.hash.toHexString()); aprUpdate.ltoken = ltoken.id; aprUpdate.timestamp = event.block.timestamp; - aprUpdate.apr = BigInt.fromI32(event.params.newAPR).toBigDecimal(); + aprUpdate.apr = BigInt.fromI32(event.params.newAPRUD7x3).toBigDecimal(); aprUpdate.save(); ltoken.save(); @@ -156,16 +156,16 @@ export function handleMintedRewardsEvent(event: MintedRewardsEvent): void { } } -export function handleTotalStakedEvent(event: TotalStakedUpdateEvent): void { - const ldyStakingAddress = event.address.toHexString(); - let ldyStaking = LDYStaking.load(ldyStakingAddress); - if (ldyStaking == null) ldyStaking = new LDYStaking(ldyStakingAddress); +// export function handleTotalStakedEvent(event: TotalStakedUpdateEvent): void { +// const ldyStakingAddress = event.address.toHexString(); +// let ldyStaking = LDYStaking.load(ldyStakingAddress); +// if (ldyStaking == null) ldyStaking = new LDYStaking(ldyStakingAddress); - let totalStakedUpdate = new TotalStakedUpdate(event.transaction.hash.toHexString()); - totalStakedUpdate.staking = ldyStaking.id; - totalStakedUpdate.timestamp = event.block.timestamp; - totalStakedUpdate.amount = event.params.newTotalStaked.toBigDecimal(); +// let totalStakedUpdate = new TotalStakedUpdate(event.transaction.hash.toHexString()); +// totalStakedUpdate.staking = ldyStaking.id; +// totalStakedUpdate.timestamp = event.block.timestamp; +// totalStakedUpdate.amount = event.params.newTotalStaked.toBigDecimal(); - totalStakedUpdate.save(); - ldyStaking.save(); -} +// totalStakedUpdate.save(); +// ldyStaking.save(); +// }

!*>;GrbYL7% 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 C9qiZu literal 0 HcmV?d00001 diff --git a/public/assets/chains/arbitrum.svg b/public/assets/chains/arbitrum.svg index 1f67712a..3e218a85 100644 --- a/public/assets/chains/arbitrum.svg +++ b/public/assets/chains/arbitrum.svg @@ -1 +1,38 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/chains/avalanche.svg b/public/assets/chains/avalanche.svg deleted file mode 100644 index 6232505b..00000000 --- a/public/assets/chains/avalanche.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/assets/chains/base.svg b/public/assets/chains/base.svg deleted file mode 100644 index 998852ae..00000000 --- a/public/assets/chains/base.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/assets/chains/bsc.svg b/public/assets/chains/bsc.svg deleted file mode 100644 index 47734bee..00000000 --- a/public/assets/chains/bsc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/assets/chains/ethereum.svg b/public/assets/chains/ethereum.svg deleted file mode 100644 index 182a682b..00000000 --- a/public/assets/chains/ethereum.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/assets/chains/linea-goerli.png b/public/assets/chains/linea-goerli.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f78720bb1d17dde550b8eff3fa590133a8f815 GIT binary patch literal 1411 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yaTa()7Bet#3xhBt!>l*8o|0J?9FtAE^x;TbZFuuKOpD`t!;rPenNz(#mA60GA zYqGj>RLtr{f;fA3Np6dt?3N3DxtR+mdvoi)y|%DWcgDKhuGP9PE;vSCXyOX$NSLOx z@aWNlzxEtWNc!|SUhn&zz4Q5HTqYDu_ynQ}Z71UOij z8Xc%d-R8Dw-d!$s>eAEh)Su7dpWd@St=)ezw))hOzLiE>-(NM_`u||^{ewn)EQf@z zGUUzuy-(+l(RYOjw_pEXetLS?-_2~BKW{z!^uS90-SgeAn#CVH<|fxxn4P!n_s`0= zmWIZg7IL(d>i(u-+#JUY#2bc zw8T~e)g3(WXvH+SHKBTQY;Ng(b8mEr2z2jj{V9KX!Bva8|3B{f&fUk`=uoxBZ++Cpiib5I zcFxaZTQ7B0-Q0dOa~hDBc~-rkedV!>kM5Q>ehG=K-?FSvX|14#|5l5+JHO{wpU+%l z?sIi+{_M<0Pl2IWZ&P+^>x!cp$E_xGFE{(nS9teF@ryI%t^W*;zFH~vJ$cKIIV_ig zCtrS>Tc7)J0Xxvd+UIAvf z${yO6*HpD`aAkVAQR?_S;rCM#t1C{#bOU`?oqkXLmqyU}(^*p;s@CnRes5d3i|6#0 z*~e$kjSFR3DDC=c;pOPHeKG9zzZPxrQ7F;Bk~pU3w|TkNoUkp{!rMLjTTPd++^?4u=~7bJ?znm(~{AzrU68{B`^8z{Pqe+@EUm%RSY; z(eWxHDE?0A_IO+G@{ij;-_6vJmfaAbydv<8P05eeLs_j36L!`!O?tU>y=%eyqy<;l`i#+|A}Yv&$vJlVwj>{C{{uYFPxe f%La11|3Q9*wt)9KbEU(;GLym6)z4*}Q$iB}h5Ryo literal 0 HcmV?d00001 diff --git a/public/assets/chains/linea.png b/public/assets/chains/linea.png new file mode 100644 index 0000000000000000000000000000000000000000..23a9f9d1a51102a3165e605fee5c6130ab678574 GIT binary patch literal 1358 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yaTa()7Bet#3xhBt!>l*8o|0J>kxsN?v978G?-`-Ws7m1cQ{_yZ#2_BWNYY#WB zXwzp#YxP3J@-`(4LJ8k8%sPcDrB0DsvpWgFk<;3J`g;Ta}-TLj> z+1bH!_nqx>kg%!xl96_K)!{3tkD?xbd3T>%T<_0yiLECk|E`JMSF`i&yLa34%O4HCn95Pt@#>zBK+B(u8rOv)z4y-WZNSrJUO5JyPJY?+1p!NuXT4N z&lBffCV0Z*t4Wp56^%>MjXhV6c8f>nSN-wv-n;n2mgNGa*SD9QHk7tq=Qz!3Lizi9 zTQ7%5*UQ<}+>qc8UNdpk#SP|pBA0sQz9)V8v4Fj?CuHv0YU||u{QT|rI8u(7nVU!J zXSuvC3=uxjarNJaxG!HKzk!$>mrk3kUMKL)1L)quF9ivHaz@vc8+-1&zP|psUDuV* zo2pbNOkBPB`|9xZxAyF*|G)3{%TPg%!x~2Y)dHqPww0fjeDzV_VSi;auPh?|_RGHy z3z-rF*k8T9z5Tq-q$;<3|L=**1Uag+W`#~X^J~q&A0HpD6My!bvxQk}QlzcQ17xq17RZ<9e){?Yp;a+qPRqMn{{7&$tOI%SG0$TW6M*UtPUhclA;}7Qa&> f+=IdY|JbK)b={rr_#h5g{4sdC`njxgN@xNAZ4wH_ literal 0 HcmV?d00001 diff --git a/public/assets/chains/optimism.svg b/public/assets/chains/optimism.svg deleted file mode 100644 index 970874cb..00000000 --- a/public/assets/chains/optimism.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/assets/chains/polygon.svg b/public/assets/chains/polygon.svg deleted file mode 100644 index 4bff5370..00000000 --- a/public/assets/chains/polygon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/assets/chains/sepolia.png b/public/assets/chains/sepolia.png deleted file mode 100644 index 1e9226c07984ae2012a25e3e2487c4257e471751..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7769 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 L;s4PrEpjE&b4LiM9E=eICr%X)z7p;Q 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 MD%!8BURi|xA5*4HRsaA1 diff --git a/public/assets/logo/iconDark.svg b/public/assets/logo/iconDark.svg new file mode 100644 index 00000000..cae0d6b7 --- /dev/null +++ b/public/assets/logo/iconDark.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/logo/iconLight.svg b/public/assets/logo/iconLight.svg new file mode 100644 index 00000000..e66f8f27 --- /dev/null +++ b/public/assets/logo/iconLight.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/logo/logoDark.svg b/public/assets/logo/logoDark.svg new file mode 100644 index 00000000..9781d459 --- /dev/null +++ b/public/assets/logo/logoDark.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/assets/logo/logoLight2.svg b/public/assets/logo/logoLight2.svg deleted file mode 100644 index 2d0caaeb..00000000 --- a/public/assets/logo/logoLight2.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/app/apple-icon.png b/src/app/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d03c35da4086a8730ef653897c5cc813ab02839c GIT binary patch literal 6686 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 W{Kj@{)#`WPESUTL_(s6Q2>cg`6r#@n literal 670 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 literal 0 HcmV?d00001 diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 7eddd7ec..c1418c14 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -9,7 +9,7 @@ import clsx from "clsx"; gsap.registerPlugin(ScrollTrigger); -const name = "Ledgity DeFi"; +const name = "Ledgity Yield"; const description = "Earn up to 7% APY on your stablecoins backed by Real World Assets (RWA). Access low-risk & stable yield directly from your wallet."; export const metadata = { diff --git a/src/app/loading.tsx b/src/app/loading.tsx index 739f3c03..f4e1931f 100644 --- a/src/app/loading.tsx +++ b/src/app/loading.tsx @@ -1,5 +1,5 @@ import Image from "next/image"; -import logoIconDark from "~/assets/logo/iconDark.png"; +import logoIconLight from "~/assets/logo/iconLight.svg"; import clsx from "clsx"; import { Spinner } from "@/components/ui"; @@ -7,13 +7,13 @@ const Page = () => { return (