From 63ad51a4eb9004bf8a1d7f7c9602e1c27a4fcab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20NEUT?= Date: Thu, 22 Dec 2022 13:43:59 +0700 Subject: [PATCH 01/14] be able to mint using optimism --- package-lock.json | 1868 +++++----------- package.json | 2 +- src/.DS_Store | Bin 0 -> 6148 bytes src/artifacts/ERC20.json | 297 --- src/artifacts/PerpDepository.json | 1150 ---------- src/artifacts/UXDController.json | 745 ------- .../factories/PerpDepository__factory.ts | 1202 ---------- .../types/factories/UXDController__factory.ts | 794 ------- src/artifacts/types/index.ts | 10 - src/index.ts | 4 +- src/lib/PerpDepository.ts | 53 - src/lib/PerpWrapper.ts | 46 +- src/lib/UXDController.ts | 281 +-- src/lib/client.ts | 75 +- src/lib/types.d.ts | 2 + .../access/OwnableUpgradeable.ts | 188 ++ .../contracts-upgradeable/access/index.ts | 4 + .../contracts-upgradeable/index.ts | 15 + .../IERC1822ProxiableUpgradeable.ts | 88 + .../draft-IERC1822Upgradeable.sol/index.ts | 4 + .../contracts-upgradeable/interfaces/index.ts | 5 + .../ERC1967/ERC1967UpgradeUpgradeable.ts | 127 ++ .../proxy/ERC1967/index.ts | 4 + .../proxy/beacon/IBeaconUpgradeable.ts | 88 + .../proxy/beacon/index.ts | 4 + .../contracts-upgradeable/proxy/index.ts | 9 + .../proxy/utils/Initializable.ts | 70 + .../proxy/utils/UUPSUpgradeable.ts | 238 ++ .../proxy/utils/index.ts | 5 + .../security/ReentrancyGuardUpgradeable.ts | 70 + .../contracts-upgradeable/security/index.ts | 4 + .../token/ERC20/IERC20Upgradeable.ts | 342 +++ .../token/ERC20/index.ts | 4 + .../contracts-upgradeable/token/index.ts | 5 + .../utils/ContextUpgradeable.ts | 70 + .../contracts-upgradeable/utils/index.ts | 4 + .../contracts/access/AccessControl.ts | 398 ++++ .../contracts/access/IAccessControl.ts | 341 +++ .../@openzeppelin/contracts/access/Ownable.ts | 176 ++ .../@openzeppelin/contracts/access/index.ts | 6 + .../contracts/governance/Governor.ts | 1331 +++++++++++ .../contracts/governance/IGovernor.ts | 1046 +++++++++ .../governance/TimelockController.ts | 1399 ++++++++++++ .../extensions/GovernorCountingSimple.ts | 1384 ++++++++++++ .../governance/extensions/GovernorSettings.ts | 1503 +++++++++++++ .../extensions/GovernorTimelockControl.ts | 1508 +++++++++++++ .../governance/extensions/GovernorVotes.ts | 1345 ++++++++++++ .../extensions/GovernorVotesQuorumFraction.ts | 1443 ++++++++++++ .../extensions/IGovernorTimelock.ts | 1166 ++++++++++ .../contracts/governance/extensions/index.ts | 9 + .../contracts/governance/index.ts | 10 + .../contracts/governance/utils/IVotes.ts | 369 ++++ .../contracts/governance/utils/index.ts | 4 + .../@openzeppelin/contracts/index.ts | 11 + .../token/ERC1155/IERC1155Receiver.ts | 231 ++ .../contracts/token/ERC1155/index.ts | 4 + .../contracts/token/ERC20}/ERC20.ts | 2 +- .../contracts/token/ERC20/IERC20.ts | 342 +++ .../token/ERC20/extensions/ERC20Votes.ts | 962 ++++++++ .../token/ERC20/extensions/IERC20Metadata.ts | 384 ++++ .../draft-ERC20Permit.sol/ERC20Permit.ts | 586 +++++ .../extensions/draft-ERC20Permit.sol/index.ts | 4 + .../draft-IERC20Permit.sol/IERC20Permit.ts | 193 ++ .../draft-IERC20Permit.sol/index.ts | 4 + .../contracts/token/ERC20/extensions/index.ts | 9 + .../contracts/token/ERC20/index.ts | 7 + .../contracts/token/ERC721/IERC721Receiver.ts | 126 ++ .../contracts/token/ERC721/index.ts | 4 + .../@openzeppelin/contracts/token/index.ts | 9 + .../@openzeppelin/contracts/utils/index.ts | 7 + .../contracts/utils/introspection/ERC165.ts | 103 + .../contracts/utils/introspection/IERC165.ts | 103 + .../contracts/utils/introspection/index.ts | 5 + .../utils/structs/DoubleEndedQueue.ts | 56 + .../contracts/utils/structs/index.ts | 4 + src/typechain-types/@openzeppelin/index.ts | 7 + src/typechain-types/@uniswap/index.ts | 7 + .../@uniswap/v3-core/contracts/index.ts | 5 + .../callback/IUniswapV3SwapCallback.ts | 122 ++ .../contracts/interfaces/callback/index.ts | 4 + .../v3-core/contracts/interfaces/index.ts | 5 + src/typechain-types/@uniswap/v3-core/index.ts | 5 + .../@uniswap/v3-periphery/contracts/index.ts | 5 + .../contracts/interfaces/ISwapRouter.ts | 369 ++++ .../contracts/interfaces/index.ts | 4 + .../@uniswap/v3-periphery/index.ts | 5 + .../types => typechain-types}/common.ts | 0 .../contracts/core/IUXDController.ts | 200 ++ .../contracts/core/IUXDRouter.ts | 234 ++ .../contracts/core}/UXDController.ts | 533 ++--- .../contracts/core/UXDControllerStorage.ts | 184 ++ .../contracts/core/UXDRouter.ts | 421 ++++ .../core/UXDToken.sol/IRedeemable.ts | 416 ++++ .../contracts/core/UXDToken.sol/UXDToken.ts | 807 +++++++ .../contracts/core/UXDToken.sol/index.ts | 5 + src/typechain-types/contracts/core/index.ts | 10 + .../contracts/external/index.ts | 9 + .../external/perp/IAccountBalance.ts | 1162 ++++++++++ .../contracts/external/perp/IClearingHouse.ts | 1072 +++++++++ .../contracts/external/perp/IExchange.ts | 606 +++++ .../external/perp/IMarketRegistry.ts | 583 +++++ .../contracts/external/perp/IVault.ts | 1239 +++++++++++ .../contracts/external/perp/index.ts | 8 + .../external/rage-trade/IBorrower.ts | 119 + .../external/rage-trade/IDnGmxSeniorVault.ts | 1242 +++++++++++ .../contracts/external/rage-trade/IERC4626.ts | 946 ++++++++ .../contracts/external/rage-trade/index.ts | 6 + .../contracts/external/weth/IWETH9.ts | 397 ++++ .../contracts/external/weth/index.ts | 4 + .../contracts/governance/UXDCouncilToken.ts | 1091 +++++++++ .../contracts/governance/UXDGovernor.ts | 1943 +++++++++++++++++ .../governance/UXDTimelockController.ts | 1537 +++++++++++++ .../contracts/governance/UXPToken.ts | 1156 ++++++++++ .../contracts/governance/index.ts | 7 + src/typechain-types/contracts/index.ts | 13 + .../contracts/integrations/IDepository.ts | 285 +++ .../contracts/integrations/ISwapper.ts | 131 ++ .../contracts/integrations/index.ts | 11 + .../integrations/perp/PerpAccountProxy.ts | 581 +++++ .../integrations/perp}/PerpDepository.ts | 368 +--- .../perp/PerpDepositoryStorage.ts | 531 +++++ .../contracts/integrations/perp/index.ts | 6 + .../rage-trade/RageDnDepository.ts | 814 +++++++ .../integrations/rage-trade/index.ts | 4 + .../integrations/uniswap/Uniswapper.ts | 149 ++ .../contracts/integrations/uniswap/index.ts | 4 + .../contracts/test/MockController.ts | 209 ++ .../contracts/test/MockPerpAccountBalance.ts | 233 ++ .../contracts/test/MockPerpClearingHouse.ts | 270 +++ .../contracts/test/MockPerpMarketRegistry.ts | 103 + .../contracts/test/MockPerpVault.ts | 160 ++ .../contracts/test/TestDepository.ts | 754 +++++++ .../contracts/test/TestERC20.ts | 464 ++++ .../contracts/test/TestPerpDepository.ts | 1488 +++++++++++++ .../test/TestPerpDepositoryUpgrade.ts | 1488 +++++++++++++ .../test/TestUXDControllerUpgrade.ts | 901 ++++++++ src/typechain-types/contracts/test/index.ts | 13 + .../access/OwnableUpgradeable__factory.ts | 91 + .../contracts-upgradeable/access/index.ts | 4 + .../contracts-upgradeable/index.ts | 9 + .../IERC1822ProxiableUpgradeable__factory.ts | 43 + .../draft-IERC1822Upgradeable.sol/index.ts | 4 + .../contracts-upgradeable/interfaces/index.ts | 4 + .../ERC1967UpgradeUpgradeable__factory.ts | 88 + .../proxy/ERC1967/index.ts | 4 + .../beacon/IBeaconUpgradeable__factory.ts | 39 + .../proxy/beacon/index.ts | 4 + .../contracts-upgradeable/proxy/index.ts | 6 + .../proxy/utils/Initializable__factory.ts | 39 + .../proxy/utils/UUPSUpgradeable__factory.ts | 128 ++ .../proxy/utils/index.ts | 5 + .../ReentrancyGuardUpgradeable__factory.ts | 43 + .../contracts-upgradeable/security/index.ts | 4 + .../token/ERC20/IERC20Upgradeable__factory.ts | 209 ++ .../token/ERC20/index.ts | 4 + .../contracts-upgradeable/token/index.ts | 4 + .../utils/ContextUpgradeable__factory.ts | 39 + .../contracts-upgradeable/utils/index.ts | 4 + .../access/AccessControl__factory.ts | 230 ++ .../access/IAccessControl__factory.ts | 198 ++ .../contracts/access/Ownable__factory.ts | 78 + .../@openzeppelin/contracts/access/index.ts | 6 + .../contracts/governance/Governor__factory.ts | 890 ++++++++ .../governance/IGovernor__factory.ts | 707 ++++++ .../governance/TimelockController__factory.ts | 951 ++++++++ .../GovernorCountingSimple__factory.ts | 923 ++++++++ .../extensions/GovernorSettings__factory.ts | 986 +++++++++ .../GovernorTimelockControl__factory.ts | 1011 +++++++++ .../GovernorVotesQuorumFraction__factory.ts | 965 ++++++++ .../extensions/GovernorVotes__factory.ts | 903 ++++++++ .../extensions/IGovernorTimelock__factory.ts | 792 +++++++ .../contracts/governance/extensions/index.ts | 9 + .../contracts/governance/index.ts | 8 + .../governance/utils/IVotes__factory.ts | 205 ++ .../contracts/governance/utils/index.ts | 4 + .../@openzeppelin/contracts/index.ts | 7 + .../ERC1155/IERC1155Receiver__factory.ts | 123 ++ .../contracts/token/ERC1155/index.ts | 4 + .../contracts/token/ERC20}/ERC20__factory.ts | 9 +- .../contracts/token/ERC20/IERC20__factory.ts | 206 ++ .../ERC20/extensions/ERC20Votes__factory.ts | 608 ++++++ .../extensions/IERC20Metadata__factory.ts | 248 +++ .../ERC20Permit__factory.ts | 371 ++++ .../extensions/draft-ERC20Permit.sol/index.ts | 4 + .../IERC20Permit__factory.ts | 101 + .../draft-IERC20Permit.sol/index.ts | 4 + .../contracts/token/ERC20/extensions/index.ts | 7 + .../contracts/token/ERC20}/index.ts | 4 +- .../token/ERC721/IERC721Receiver__factory.ts | 60 + .../contracts/token/ERC721/index.ts | 4 + .../@openzeppelin/contracts/token/index.ts | 6 + .../@openzeppelin/contracts/utils/index.ts | 5 + .../utils/introspection/ERC165__factory.ts | 42 + .../utils/introspection/IERC165__factory.ts | 45 + .../contracts/utils/introspection/index.ts | 5 + .../structs/DoubleEndedQueue__factory.ts | 73 + .../contracts/utils/structs/index.ts | 4 + .../factories/@openzeppelin/index.ts | 5 + .../factories/@uniswap/index.ts | 5 + .../@uniswap/v3-core/contracts/index.ts | 4 + .../IUniswapV3SwapCallback__factory.ts | 53 + .../contracts/interfaces/callback/index.ts | 4 + .../v3-core/contracts/interfaces/index.ts | 4 + .../factories/@uniswap/v3-core/index.ts | 4 + .../@uniswap/v3-periphery/contracts/index.ts | 4 + .../interfaces/ISwapRouter__factory.ts | 263 +++ .../contracts/interfaces/index.ts | 4 + .../factories/@uniswap/v3-periphery/index.ts | 4 + .../contracts/core/IUXDController__factory.ts | 107 + .../contracts/core/IUXDRouter__factory.ts | 110 + .../core/UXDControllerStorage__factory.ts | 107 + .../contracts/core/UXDController__factory.ts | 642 ++++++ .../contracts/core/UXDRouter__factory.ts | 305 +++ .../core/UXDToken.sol/IRedeemable__factory.ts | 245 +++ .../core/UXDToken.sol/UXDToken__factory.ts | 637 ++++++ .../contracts/core/UXDToken.sol/index.ts | 5 + .../factories/contracts/core/index.ts | 9 + .../factories/contracts/external/index.ts | 6 + .../external/perp/IAccountBalance__factory.ts | 665 ++++++ .../external/perp/IClearingHouse__factory.ts | 826 +++++++ .../external/perp/IExchange__factory.ts | 417 ++++ .../external/perp/IMarketRegistry__factory.ts | 331 +++ .../external/perp/IVault__factory.ts | 725 ++++++ .../contracts/external/perp/index.ts | 8 + .../external/rage-trade/IBorrower__factory.ts | 46 + .../rage-trade/IDnGmxSeniorVault__factory.ts | 803 +++++++ .../external/rage-trade/IERC4626__factory.ts | 599 +++++ .../contracts/external/rage-trade/index.ts | 6 + .../external/weth/IWETH9__factory.ts | 226 ++ .../contracts/external/weth/index.ts | 4 + .../governance/UXDCouncilToken__factory.ts | 715 ++++++ .../governance/UXDGovernor__factory.ts | 1352 ++++++++++++ .../UXDTimelockController__factory.ts | 1072 +++++++++ .../contracts/governance/UXPToken__factory.ts | 775 +++++++ .../factories/contracts/governance/index.ts | 7 + .../factories/contracts/index.ts | 8 + .../integrations/IDepository__factory.ts | 149 ++ .../integrations/ISwapper__factory.ts | 77 + .../factories/contracts/integrations/index.ts | 8 + .../perp/PerpAccountProxy__factory.ts | 407 ++++ .../perp/PerpDepositoryStorage__factory.ts | 322 +++ .../perp/PerpDepository__factory.ts | 1125 ++++++++++ .../contracts/integrations/perp/index.ts | 6 + .../rage-trade/RageDnDepository__factory.ts | 656 ++++++ .../integrations/rage-trade/index.ts | 4 + .../uniswap/Uniswapper__factory.ts | 140 ++ .../contracts/integrations/uniswap/index.ts | 4 + .../contracts/test/MockController__factory.ts | 130 ++ .../test/MockPerpAccountBalance__factory.ts | 146 ++ .../test/MockPerpClearingHouse__factory.ts | 227 ++ .../test/MockPerpMarketRegistry__factory.ts | 86 + .../contracts/test/MockPerpVault__factory.ts | 105 + .../contracts/test/TestDepository__factory.ts | 514 +++++ .../contracts/test/TestERC20__factory.ts | 353 +++ .../TestPerpDepositoryUpgrade__factory.ts | 1129 ++++++++++ .../test/TestPerpDepository__factory.ts | 1125 ++++++++++ .../test/TestUXDControllerUpgrade__factory.ts | 646 ++++++ .../factories/contracts/test/index.ts | 13 + src/typechain-types/factories/index.ts | 6 + src/typechain-types/hardhat.d.ts | 681 ++++++ src/typechain-types/index.ts | 154 ++ src/utils/price.ts | 4 +- 262 files changed, 74425 insertions(+), 6411 deletions(-) create mode 100644 src/.DS_Store delete mode 100644 src/artifacts/ERC20.json delete mode 100644 src/artifacts/PerpDepository.json delete mode 100644 src/artifacts/UXDController.json delete mode 100644 src/artifacts/types/factories/PerpDepository__factory.ts delete mode 100644 src/artifacts/types/factories/UXDController__factory.ts delete mode 100644 src/artifacts/types/index.ts delete mode 100644 src/lib/PerpDepository.ts create mode 100644 src/lib/types.d.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/access/AccessControl.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/access/Ownable.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/access/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/Governor.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/IGovernor.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/TimelockController.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorSettings.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotes.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/extensions/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/utils/IVotes.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/governance/utils/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC1155/index.ts rename src/{artifacts/types => typechain-types/@openzeppelin/contracts/token/ERC20}/ERC20.ts (99%) create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/token/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/utils/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.ts create mode 100644 src/typechain-types/@openzeppelin/contracts/utils/structs/index.ts create mode 100644 src/typechain-types/@openzeppelin/index.ts create mode 100644 src/typechain-types/@uniswap/index.ts create mode 100644 src/typechain-types/@uniswap/v3-core/contracts/index.ts create mode 100644 src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.ts create mode 100644 src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/index.ts create mode 100644 src/typechain-types/@uniswap/v3-core/contracts/interfaces/index.ts create mode 100644 src/typechain-types/@uniswap/v3-core/index.ts create mode 100644 src/typechain-types/@uniswap/v3-periphery/contracts/index.ts create mode 100644 src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.ts create mode 100644 src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/index.ts create mode 100644 src/typechain-types/@uniswap/v3-periphery/index.ts rename src/{artifacts/types => typechain-types}/common.ts (100%) create mode 100644 src/typechain-types/contracts/core/IUXDController.ts create mode 100644 src/typechain-types/contracts/core/IUXDRouter.ts rename src/{artifacts/types => typechain-types/contracts/core}/UXDController.ts (68%) create mode 100644 src/typechain-types/contracts/core/UXDControllerStorage.ts create mode 100644 src/typechain-types/contracts/core/UXDRouter.ts create mode 100644 src/typechain-types/contracts/core/UXDToken.sol/IRedeemable.ts create mode 100644 src/typechain-types/contracts/core/UXDToken.sol/UXDToken.ts create mode 100644 src/typechain-types/contracts/core/UXDToken.sol/index.ts create mode 100644 src/typechain-types/contracts/core/index.ts create mode 100644 src/typechain-types/contracts/external/index.ts create mode 100644 src/typechain-types/contracts/external/perp/IAccountBalance.ts create mode 100644 src/typechain-types/contracts/external/perp/IClearingHouse.ts create mode 100644 src/typechain-types/contracts/external/perp/IExchange.ts create mode 100644 src/typechain-types/contracts/external/perp/IMarketRegistry.ts create mode 100644 src/typechain-types/contracts/external/perp/IVault.ts create mode 100644 src/typechain-types/contracts/external/perp/index.ts create mode 100644 src/typechain-types/contracts/external/rage-trade/IBorrower.ts create mode 100644 src/typechain-types/contracts/external/rage-trade/IDnGmxSeniorVault.ts create mode 100644 src/typechain-types/contracts/external/rage-trade/IERC4626.ts create mode 100644 src/typechain-types/contracts/external/rage-trade/index.ts create mode 100644 src/typechain-types/contracts/external/weth/IWETH9.ts create mode 100644 src/typechain-types/contracts/external/weth/index.ts create mode 100644 src/typechain-types/contracts/governance/UXDCouncilToken.ts create mode 100644 src/typechain-types/contracts/governance/UXDGovernor.ts create mode 100644 src/typechain-types/contracts/governance/UXDTimelockController.ts create mode 100644 src/typechain-types/contracts/governance/UXPToken.ts create mode 100644 src/typechain-types/contracts/governance/index.ts create mode 100644 src/typechain-types/contracts/index.ts create mode 100644 src/typechain-types/contracts/integrations/IDepository.ts create mode 100644 src/typechain-types/contracts/integrations/ISwapper.ts create mode 100644 src/typechain-types/contracts/integrations/index.ts create mode 100644 src/typechain-types/contracts/integrations/perp/PerpAccountProxy.ts rename src/{artifacts/types => typechain-types/contracts/integrations/perp}/PerpDepository.ts (85%) create mode 100644 src/typechain-types/contracts/integrations/perp/PerpDepositoryStorage.ts create mode 100644 src/typechain-types/contracts/integrations/perp/index.ts create mode 100644 src/typechain-types/contracts/integrations/rage-trade/RageDnDepository.ts create mode 100644 src/typechain-types/contracts/integrations/rage-trade/index.ts create mode 100644 src/typechain-types/contracts/integrations/uniswap/Uniswapper.ts create mode 100644 src/typechain-types/contracts/integrations/uniswap/index.ts create mode 100644 src/typechain-types/contracts/test/MockController.ts create mode 100644 src/typechain-types/contracts/test/MockPerpAccountBalance.ts create mode 100644 src/typechain-types/contracts/test/MockPerpClearingHouse.ts create mode 100644 src/typechain-types/contracts/test/MockPerpMarketRegistry.ts create mode 100644 src/typechain-types/contracts/test/MockPerpVault.ts create mode 100644 src/typechain-types/contracts/test/TestDepository.ts create mode 100644 src/typechain-types/contracts/test/TestERC20.ts create mode 100644 src/typechain-types/contracts/test/TestPerpDepository.ts create mode 100644 src/typechain-types/contracts/test/TestPerpDepositoryUpgrade.ts create mode 100644 src/typechain-types/contracts/test/TestUXDControllerUpgrade.ts create mode 100644 src/typechain-types/contracts/test/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/access/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/Governor__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/IGovernor__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/TimelockController__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorSettings__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotes__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/IGovernorTimelock__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/utils/IVotes__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/governance/utils/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/index.ts rename src/{artifacts/types/factories => typechain-types/factories/@openzeppelin/contracts/token/ERC20}/ERC20__factory.ts (50%) create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts rename src/{artifacts/types/factories => typechain-types/factories/@openzeppelin/contracts/token/ERC20}/index.ts (50%) create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/token/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/utils/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/utils/structs/DoubleEndedQueue__factory.ts create mode 100644 src/typechain-types/factories/@openzeppelin/contracts/utils/structs/index.ts create mode 100644 src/typechain-types/factories/@openzeppelin/index.ts create mode 100644 src/typechain-types/factories/@uniswap/index.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-core/contracts/index.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback__factory.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/index.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/index.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-core/index.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-periphery/contracts/index.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/index.ts create mode 100644 src/typechain-types/factories/@uniswap/v3-periphery/index.ts create mode 100644 src/typechain-types/factories/contracts/core/IUXDController__factory.ts create mode 100644 src/typechain-types/factories/contracts/core/IUXDRouter__factory.ts create mode 100644 src/typechain-types/factories/contracts/core/UXDControllerStorage__factory.ts create mode 100644 src/typechain-types/factories/contracts/core/UXDController__factory.ts create mode 100644 src/typechain-types/factories/contracts/core/UXDRouter__factory.ts create mode 100644 src/typechain-types/factories/contracts/core/UXDToken.sol/IRedeemable__factory.ts create mode 100644 src/typechain-types/factories/contracts/core/UXDToken.sol/UXDToken__factory.ts create mode 100644 src/typechain-types/factories/contracts/core/UXDToken.sol/index.ts create mode 100644 src/typechain-types/factories/contracts/core/index.ts create mode 100644 src/typechain-types/factories/contracts/external/index.ts create mode 100644 src/typechain-types/factories/contracts/external/perp/IAccountBalance__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/perp/IClearingHouse__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/perp/IExchange__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/perp/IMarketRegistry__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/perp/IVault__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/perp/index.ts create mode 100644 src/typechain-types/factories/contracts/external/rage-trade/IBorrower__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/rage-trade/IDnGmxSeniorVault__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/rage-trade/IERC4626__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/rage-trade/index.ts create mode 100644 src/typechain-types/factories/contracts/external/weth/IWETH9__factory.ts create mode 100644 src/typechain-types/factories/contracts/external/weth/index.ts create mode 100644 src/typechain-types/factories/contracts/governance/UXDCouncilToken__factory.ts create mode 100644 src/typechain-types/factories/contracts/governance/UXDGovernor__factory.ts create mode 100644 src/typechain-types/factories/contracts/governance/UXDTimelockController__factory.ts create mode 100644 src/typechain-types/factories/contracts/governance/UXPToken__factory.ts create mode 100644 src/typechain-types/factories/contracts/governance/index.ts create mode 100644 src/typechain-types/factories/contracts/index.ts create mode 100644 src/typechain-types/factories/contracts/integrations/IDepository__factory.ts create mode 100644 src/typechain-types/factories/contracts/integrations/ISwapper__factory.ts create mode 100644 src/typechain-types/factories/contracts/integrations/index.ts create mode 100644 src/typechain-types/factories/contracts/integrations/perp/PerpAccountProxy__factory.ts create mode 100644 src/typechain-types/factories/contracts/integrations/perp/PerpDepositoryStorage__factory.ts create mode 100644 src/typechain-types/factories/contracts/integrations/perp/PerpDepository__factory.ts create mode 100644 src/typechain-types/factories/contracts/integrations/perp/index.ts create mode 100644 src/typechain-types/factories/contracts/integrations/rage-trade/RageDnDepository__factory.ts create mode 100644 src/typechain-types/factories/contracts/integrations/rage-trade/index.ts create mode 100644 src/typechain-types/factories/contracts/integrations/uniswap/Uniswapper__factory.ts create mode 100644 src/typechain-types/factories/contracts/integrations/uniswap/index.ts create mode 100644 src/typechain-types/factories/contracts/test/MockController__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/MockPerpAccountBalance__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/MockPerpClearingHouse__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/MockPerpMarketRegistry__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/MockPerpVault__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/TestDepository__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/TestERC20__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/TestPerpDepositoryUpgrade__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/TestPerpDepository__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/TestUXDControllerUpgrade__factory.ts create mode 100644 src/typechain-types/factories/contracts/test/index.ts create mode 100644 src/typechain-types/factories/index.ts create mode 100644 src/typechain-types/hardhat.d.ts create mode 100644 src/typechain-types/index.ts diff --git a/package-lock.json b/package-lock.json index 9b3f7e5..e2d1274 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@perp/sdk-curie": "1.14.0-canary.1", "bignumber.js": "^9.0.2", - "ethers": "5.5.0", + "ethers": "5.7.2", "rxjs": "^7.5.5", "typechain": "^8.1.1" }, @@ -1760,9 +1760,9 @@ } }, "node_modules/@ethersproject/abi": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", - "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "funding": [ { "type": "individual", @@ -1774,21 +1774,21 @@ } ], "dependencies": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", - "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "funding": [ { "type": "individual", @@ -1800,19 +1800,19 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" } }, "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", - "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "funding": [ { "type": "individual", @@ -1824,17 +1824,17 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" } }, "node_modules/@ethersproject/address": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", - "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "funding": [ { "type": "individual", @@ -1846,17 +1846,17 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" } }, "node_modules/@ethersproject/base64": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", - "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "funding": [ { "type": "individual", @@ -1868,13 +1868,13 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0" + "@ethersproject/bytes": "^5.7.0" } }, "node_modules/@ethersproject/basex": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", - "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", "funding": [ { "type": "individual", @@ -1886,14 +1886,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/properties": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" } }, "node_modules/@ethersproject/bignumber": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", - "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "funding": [ { "type": "individual", @@ -1905,15 +1905,15 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^4.11.9" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" } }, "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "funding": [ { "type": "individual", @@ -1925,13 +1925,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/constants": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", - "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "funding": [ { "type": "individual", @@ -1943,13 +1943,13 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.6.0" + "@ethersproject/bignumber": "^5.7.0" } }, "node_modules/@ethersproject/contracts": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz", - "integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", "funding": [ { "type": "individual", @@ -1961,22 +1961,22 @@ } ], "dependencies": { - "@ethersproject/abi": "^5.5.0", - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0" + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" } }, "node_modules/@ethersproject/hash": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", - "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -1988,20 +1988,21 @@ } ], "dependencies": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "node_modules/@ethersproject/hdnode": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz", - "integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", "funding": [ { "type": "individual", @@ -2013,24 +2014,24 @@ } ], "dependencies": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" } }, "node_modules/@ethersproject/json-wallets": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz", - "integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", "funding": [ { "type": "individual", @@ -2042,25 +2043,25 @@ } ], "dependencies": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", "aes-js": "3.0.0", "scrypt-js": "3.0.1" } }, "node_modules/@ethersproject/keccak256": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", - "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "funding": [ { "type": "individual", @@ -2072,14 +2073,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", + "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", "funding": [ { "type": "individual", @@ -2092,9 +2093,9 @@ ] }, "node_modules/@ethersproject/networks": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", - "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -2106,13 +2107,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/pbkdf2": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz", - "integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", "funding": [ { "type": "individual", @@ -2124,14 +2125,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/sha2": "^5.5.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" } }, "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "funding": [ { "type": "individual", @@ -2143,14 +2144,13 @@ } ], "dependencies": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/providers": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", - "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", - "dev": true, + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", "funding": [ { "type": "individual", @@ -2161,33 +2161,33 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "peer": true, "dependencies": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/basex": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", "bech32": "1.1.4", "ws": "7.4.6" } }, "node_modules/@ethersproject/random": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", - "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", "funding": [ { "type": "individual", @@ -2199,14 +2199,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/rlp": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", - "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "funding": [ { "type": "individual", @@ -2218,14 +2218,14 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/sha2": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", - "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", "funding": [ { "type": "individual", @@ -2237,15 +2237,15 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", "hash.js": "1.1.7" } }, "node_modules/@ethersproject/signing-key": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", - "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "funding": [ { "type": "individual", @@ -2257,18 +2257,18 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^4.11.9", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", "elliptic": "6.5.4", "hash.js": "1.1.7" } }, "node_modules/@ethersproject/solidity": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz", - "integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", "funding": [ { "type": "individual", @@ -2280,18 +2280,18 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "node_modules/@ethersproject/strings": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", - "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "funding": [ { "type": "individual", @@ -2303,15 +2303,15 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/transactions": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", - "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -2323,21 +2323,21 @@ } ], "dependencies": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0" + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" } }, "node_modules/@ethersproject/units": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz", - "integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", "funding": [ { "type": "individual", @@ -2349,15 +2349,15 @@ } ], "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/wallet": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz", - "integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", "funding": [ { "type": "individual", @@ -2369,27 +2369,27 @@ } ], "dependencies": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/json-wallets": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" } }, "node_modules/@ethersproject/web": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", - "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -2401,17 +2401,17 @@ } ], "dependencies": { - "@ethersproject/base64": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "node_modules/@ethersproject/wordlists": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz", - "integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", "funding": [ { "type": "individual", @@ -2423,11 +2423,11 @@ } ], "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "node_modules/@humanwhocodes/config-array": { @@ -4057,9 +4057,9 @@ } }, "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -4438,6 +4438,11 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, "node_modules/emittery": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", @@ -4845,9 +4850,9 @@ } }, "node_modules/ethers": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.0.tgz", - "integrity": "sha512-Z9SqECMNhkc6cA29KI+epfXB3NPaRZJL9Eo2KfO6pU/n7BKRDey+gTRwzC6/3OPX3ySItC/mltWB01aT8AdNsw==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "funding": [ { "type": "individual", @@ -4859,503 +4864,36 @@ } ], "dependencies": { - "@ethersproject/abi": "5.5.0", - "@ethersproject/abstract-provider": "5.5.0", - "@ethersproject/abstract-signer": "5.5.0", - "@ethersproject/address": "5.5.0", - "@ethersproject/base64": "5.5.0", - "@ethersproject/basex": "5.5.0", - "@ethersproject/bignumber": "5.5.0", - "@ethersproject/bytes": "5.5.0", - "@ethersproject/constants": "5.5.0", - "@ethersproject/contracts": "5.5.0", - "@ethersproject/hash": "5.5.0", - "@ethersproject/hdnode": "5.5.0", - "@ethersproject/json-wallets": "5.5.0", - "@ethersproject/keccak256": "5.5.0", - "@ethersproject/logger": "5.5.0", - "@ethersproject/networks": "5.5.0", - "@ethersproject/pbkdf2": "5.5.0", - "@ethersproject/properties": "5.5.0", - "@ethersproject/providers": "5.5.0", - "@ethersproject/random": "5.5.0", - "@ethersproject/rlp": "5.5.0", - "@ethersproject/sha2": "5.5.0", - "@ethersproject/signing-key": "5.5.0", - "@ethersproject/solidity": "5.5.0", - "@ethersproject/strings": "5.5.0", - "@ethersproject/transactions": "5.5.0", - "@ethersproject/units": "5.5.0", - "@ethersproject/wallet": "5.5.0", - "@ethersproject/web": "5.5.0", - "@ethersproject/wordlists": "5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/abi": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.5.0.tgz", - "integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/abstract-provider": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.0.tgz", - "integrity": "sha512-+HI8NKNBoWITakRIxoJlV3W1CtzU9uUVlbuw7b0Lk3JfuXUdz4vZX6RyDQgjfB/cK/CZJlrL8WDcAp9Q0SDjgA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/abstract-signer": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz", - "integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/address": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz", - "integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/rlp": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/base64": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz", - "integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/basex": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz", - "integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/properties": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/bignumber": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz", - "integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "bn.js": "^4.11.9" - } - }, - "node_modules/ethers/node_modules/@ethersproject/bytes": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz", - "integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/constants": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz", - "integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/hash": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.5.0.tgz", - "integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/keccak256": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz", - "integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "js-sha3": "0.8.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/logger": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz", - "integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/ethers/node_modules/@ethersproject/networks": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.0.tgz", - "integrity": "sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/properties": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz", - "integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/providers": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.0.tgz", - "integrity": "sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/ethers/node_modules/@ethersproject/random": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.0.tgz", - "integrity": "sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/rlp": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz", - "integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/sha2": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz", - "integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "hash.js": "1.1.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/signing-key": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz", - "integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/ethers/node_modules/@ethersproject/strings": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz", - "integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/transactions": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz", - "integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0" - } - }, - "node_modules/ethers/node_modules/@ethersproject/web": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.0.tgz", - "integrity": "sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" } }, "node_modules/execa": { @@ -10476,374 +10014,374 @@ } }, "@ethersproject/abi": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", - "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "requires": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "@ethersproject/abstract-provider": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", - "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "requires": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" } }, "@ethersproject/abstract-signer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", - "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "requires": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" } }, "@ethersproject/address": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", - "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "requires": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" } }, "@ethersproject/base64": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", - "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "requires": { - "@ethersproject/bytes": "^5.6.0" + "@ethersproject/bytes": "^5.7.0" } }, "@ethersproject/basex": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", - "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/properties": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" } }, "@ethersproject/bignumber": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", - "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^4.11.9" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" } }, "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "requires": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/constants": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", - "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "requires": { - "@ethersproject/bignumber": "^5.6.0" + "@ethersproject/bignumber": "^5.7.0" } }, "@ethersproject/contracts": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz", - "integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==", - "requires": { - "@ethersproject/abi": "^5.5.0", - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" } }, "@ethersproject/hash": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", - "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "requires": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "@ethersproject/hdnode": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz", - "integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==", - "requires": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" } }, "@ethersproject/json-wallets": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz", - "integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==", - "requires": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/pbkdf2": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", "aes-js": "3.0.0", "scrypt-js": "3.0.1" } }, "@ethersproject/keccak256": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", - "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "requires": { - "@ethersproject/bytes": "^5.6.0", + "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" }, "@ethersproject/networks": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", - "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/pbkdf2": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz", - "integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/sha2": "^5.5.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" } }, "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "requires": { - "@ethersproject/logger": "^5.6.0" + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/providers": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", - "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", - "dev": true, - "peer": true, - "requires": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/basex": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", "bech32": "1.1.4", "ws": "7.4.6" } }, "@ethersproject/random": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", - "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/rlp": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", - "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/sha2": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", - "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", "hash.js": "1.1.7" } }, "@ethersproject/signing-key": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", - "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^4.11.9", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", "elliptic": "6.5.4", "hash.js": "1.1.7" } }, "@ethersproject/solidity": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz", - "integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "@ethersproject/strings": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", - "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/transactions": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", - "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "requires": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0" + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" } }, "@ethersproject/units": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz", - "integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/wallet": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz", - "integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==", - "requires": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/hdnode": "^5.5.0", - "@ethersproject/json-wallets": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/wordlists": "^5.5.0" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" } }, "@ethersproject/web": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", - "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "requires": { - "@ethersproject/base64": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "@ethersproject/wordlists": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz", - "integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" } }, "@humanwhocodes/config-array": { @@ -12059,9 +11597,9 @@ "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==" }, "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, "brace-expansion": { "version": "1.1.11", @@ -12347,6 +11885,13 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } } }, "emittery": { @@ -12629,289 +12174,40 @@ "dev": true }, "ethers": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.0.tgz", - "integrity": "sha512-Z9SqECMNhkc6cA29KI+epfXB3NPaRZJL9Eo2KfO6pU/n7BKRDey+gTRwzC6/3OPX3ySItC/mltWB01aT8AdNsw==", - "requires": { - "@ethersproject/abi": "5.5.0", - "@ethersproject/abstract-provider": "5.5.0", - "@ethersproject/abstract-signer": "5.5.0", - "@ethersproject/address": "5.5.0", - "@ethersproject/base64": "5.5.0", - "@ethersproject/basex": "5.5.0", - "@ethersproject/bignumber": "5.5.0", - "@ethersproject/bytes": "5.5.0", - "@ethersproject/constants": "5.5.0", - "@ethersproject/contracts": "5.5.0", - "@ethersproject/hash": "5.5.0", - "@ethersproject/hdnode": "5.5.0", - "@ethersproject/json-wallets": "5.5.0", - "@ethersproject/keccak256": "5.5.0", - "@ethersproject/logger": "5.5.0", - "@ethersproject/networks": "5.5.0", - "@ethersproject/pbkdf2": "5.5.0", - "@ethersproject/properties": "5.5.0", - "@ethersproject/providers": "5.5.0", - "@ethersproject/random": "5.5.0", - "@ethersproject/rlp": "5.5.0", - "@ethersproject/sha2": "5.5.0", - "@ethersproject/signing-key": "5.5.0", - "@ethersproject/solidity": "5.5.0", - "@ethersproject/strings": "5.5.0", - "@ethersproject/transactions": "5.5.0", - "@ethersproject/units": "5.5.0", - "@ethersproject/wallet": "5.5.0", - "@ethersproject/web": "5.5.0", - "@ethersproject/wordlists": "5.5.0" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.5.0.tgz", - "integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==", - "requires": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.0.tgz", - "integrity": "sha512-+HI8NKNBoWITakRIxoJlV3W1CtzU9uUVlbuw7b0Lk3JfuXUdz4vZX6RyDQgjfB/cK/CZJlrL8WDcAp9Q0SDjgA==", - "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz", - "integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==", - "requires": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0" - } - }, - "@ethersproject/address": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz", - "integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==", - "requires": { - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/rlp": "^5.5.0" - } - }, - "@ethersproject/base64": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz", - "integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==", - "requires": { - "@ethersproject/bytes": "^5.5.0" - } - }, - "@ethersproject/basex": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz", - "integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/properties": "^5.5.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz", - "integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "bn.js": "^4.11.9" - } - }, - "@ethersproject/bytes": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz", - "integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==", - "requires": { - "@ethersproject/logger": "^5.5.0" - } - }, - "@ethersproject/constants": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz", - "integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==", - "requires": { - "@ethersproject/bignumber": "^5.5.0" - } - }, - "@ethersproject/hash": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.5.0.tgz", - "integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==", - "requires": { - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" - } - }, - "@ethersproject/keccak256": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz", - "integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz", - "integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==" - }, - "@ethersproject/networks": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.0.tgz", - "integrity": "sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA==", - "requires": { - "@ethersproject/logger": "^5.5.0" - } - }, - "@ethersproject/properties": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz", - "integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==", - "requires": { - "@ethersproject/logger": "^5.5.0" - } - }, - "@ethersproject/providers": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.0.tgz", - "integrity": "sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw==", - "requires": { - "@ethersproject/abstract-provider": "^5.5.0", - "@ethersproject/abstract-signer": "^5.5.0", - "@ethersproject/address": "^5.5.0", - "@ethersproject/basex": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/hash": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/networks": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/random": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/sha2": "^5.5.0", - "@ethersproject/strings": "^5.5.0", - "@ethersproject/transactions": "^5.5.0", - "@ethersproject/web": "^5.5.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.0.tgz", - "integrity": "sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" - } - }, - "@ethersproject/rlp": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz", - "integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0" - } - }, - "@ethersproject/sha2": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz", - "integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz", - "integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/strings": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz", - "integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==", - "requires": { - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/logger": "^5.5.0" - } - }, - "@ethersproject/transactions": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz", - "integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==", - "requires": { - "@ethersproject/address": "^5.5.0", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/constants": "^5.5.0", - "@ethersproject/keccak256": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/rlp": "^5.5.0", - "@ethersproject/signing-key": "^5.5.0" - } - }, - "@ethersproject/web": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.0.tgz", - "integrity": "sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA==", - "requires": { - "@ethersproject/base64": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@ethersproject/logger": "^5.5.0", - "@ethersproject/properties": "^5.5.0", - "@ethersproject/strings": "^5.5.0" - } - } + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "requires": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" } }, "execa": { diff --git a/package.json b/package.json index 13e9c8a..f406038 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "dependencies": { "@perp/sdk-curie": "1.14.0-canary.1", "bignumber.js": "^9.0.2", - "ethers": "5.5.0", + "ethers": "5.7.2", "rxjs": "^7.5.5", "typechain": "^8.1.1" }, diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5806ed6443bbe0832766e438b2773f5354b96846 GIT binary patch literal 6148 zcmeHK%}T>S5T3CW0$vJUJnjp4D1Cvo#0QXq=MpO_B&49d=it>R@+$P;qj>QV{AOmg z8w?&r>J03DyYsV?d?7o#M8xyWYDzRAq5@5jWiTM39yA>!XECy@F&3a&ozpIjG zA5l$rRMj{6^PkRkmZmMss%|T2itFw3?CJ95EVr(Hu&!_ORhI~(L)y>-GS+n8&qIvGGP)=~`AQjCf0BPVJ!dyp~gF=1yYtB791fqoEBLcDVZeu04x?)pXL literal 0 HcmV?d00001 diff --git a/src/artifacts/ERC20.json b/src/artifacts/ERC20.json deleted file mode 100644 index 7b47f0e..0000000 --- a/src/artifacts/ERC20.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20", - "sourceName": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "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": "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": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "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" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000c8338038062000c838339810160408190526200003491620001db565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b6109f180620002926000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e391906107de565b60405180910390f35b6100ff6100fa36600461086d565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f366004610897565b610290565b604051601281526020016100e3565b6100ff61015136600461086d565b6102b4565b6101136101643660046108d3565b6001600160a01b031660009081526020819052604090205490565b6100d66102f3565b6100ff61019536600461086d565b610302565b6100ff6101a836600461086d565b6103b1565b6101136101bb3660046108f5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610928565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610928565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103bf565b5060019392505050565b60003361029e858285610517565b6102a98585856105c7565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102ee90879061097c565b6103bf565b6060600480546101f590610928565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102a982868684036103bf565b6000336102868185856105c7565b6001600160a01b03831661043a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166104b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105c157818110156105b45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039b565b6105c184848484036103bf565b50505050565b6001600160a01b0383166106435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166106bf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0383166000908152602081905260409020548181101561074e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061078590849061097c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d191815260200190565b60405180910390a36105c1565b600060208083528351808285015260005b8181101561080b578581018301518582016040015282016107ef565b8181111561081d576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b80356001600160a01b038116811461086857600080fd5b919050565b6000806040838503121561088057600080fd5b61088983610851565b946020939093013593505050565b6000806000606084860312156108ac57600080fd5b6108b584610851565b92506108c360208501610851565b9150604084013590509250925092565b6000602082840312156108e557600080fd5b6108ee82610851565b9392505050565b6000806040838503121561090857600080fd5b61091183610851565b915061091f60208401610851565b90509250929050565b600181811c9082168061093c57607f821691505b60208210811415610976577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082198211156109b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212207e054a500fb6f5de472aadee913569f226fd1c043cf47f35194ca78e5e208c2464736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e391906107de565b60405180910390f35b6100ff6100fa36600461086d565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f366004610897565b610290565b604051601281526020016100e3565b6100ff61015136600461086d565b6102b4565b6101136101643660046108d3565b6001600160a01b031660009081526020819052604090205490565b6100d66102f3565b6100ff61019536600461086d565b610302565b6100ff6101a836600461086d565b6103b1565b6101136101bb3660046108f5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610928565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610928565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103bf565b5060019392505050565b60003361029e858285610517565b6102a98585856105c7565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102ee90879061097c565b6103bf565b6060600480546101f590610928565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102a982868684036103bf565b6000336102868185856105c7565b6001600160a01b03831661043a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166104b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105c157818110156105b45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039b565b6105c184848484036103bf565b50505050565b6001600160a01b0383166106435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166106bf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0383166000908152602081905260409020548181101561074e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061078590849061097c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d191815260200190565b60405180910390a36105c1565b600060208083528351808285015260005b8181101561080b578581018301518582016040015282016107ef565b8181111561081d576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b80356001600160a01b038116811461086857600080fd5b919050565b6000806040838503121561088057600080fd5b61088983610851565b946020939093013593505050565b6000806000606084860312156108ac57600080fd5b6108b584610851565b92506108c360208501610851565b9150604084013590509250925092565b6000602082840312156108e557600080fd5b6108ee82610851565b9392505050565b6000806040838503121561090857600080fd5b61091183610851565b915061091f60208401610851565b90509250929050565b600181811c9082168061093c57607f821691505b60208210811415610976577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082198211156109b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212207e054a500fb6f5de472aadee913569f226fd1c043cf47f35194ca78e5e208c2464736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/artifacts/PerpDepository.json b/src/artifacts/PerpDepository.json deleted file mode 100644 index 93f8051..0000000 --- a/src/artifacts/PerpDepository.json +++ /dev/null @@ -1,1150 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "PerpDepository", - "sourceName": "contracts/integrations/perp/PerpDepository.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "AddressNotContract", - "type": "error" - }, - { - "inputs": [], - "name": "ErrZeroAddress", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "allowance", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "InsufficientPnl", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "balance", - "type": "int256" - } - ], - "name": "InvalidQuoteTokenBalance", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "int8", - "name": "polarity", - "type": "int8" - } - ], - "name": "InvalidRebalance", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "allowance", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "NotApproved", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "NotController", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "requestedAmount", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "unrealizedPnL", - "type": "int256" - }, - { - "internalType": "int8", - "name": "polarity", - "type": "int8" - } - ], - "name": "RebalanceUnavailable", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "softcap", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "newBasePosition", - "type": "uint256" - } - ], - "name": "RedeemableSoftCapHit", - "type": "error" - }, - { - "inputs": [], - "name": "ZeroAmount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "version", - "type": "uint8" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "InsuranceDeposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "InsuranceWithdrawn", - "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": "bool", - "name": "isShort", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "amountIsInput", - "type": "bool" - }, - { - "indexed": false, - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - } - ], - "name": "PositionOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "baseAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quoteAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "int256", - "name": "shortfall", - "type": "int256" - } - ], - "name": "Rebalanced", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newSoftCap", - "type": "uint256" - } - ], - "name": "RedeemableSoftCapUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "HUNDRED_PERCENT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "baseToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "clearingHouse", - "outputs": [ - { - "internalType": "contract IClearingHouse", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "collateralDeposited", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "controller", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "depositCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - } - ], - "name": "depositInsurance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getAccountValue", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentState", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "collateralDeposited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "insuranceDeposited", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "redeemableUnderManagement", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalFeesPaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "redeemableSoftCap", - "type": "uint256" - } - ], - "internalType": "struct DepositoryState", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "getDebtValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExchangeFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExchangeFeeWad", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFreeCollateral", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "twapInterval", - "type": "uint32" - } - ], - "name": "getMarkPriceTwap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPositionValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUnrealizedPnl", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vault", - "type": "address" - }, - { - "internalType": "address", - "name": "_clearingHouse", - "type": "address" - }, - { - "internalType": "address", - "name": "_marketRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_futuresMarket", - "type": "address" - }, - { - "internalType": "address", - "name": "_baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_controller", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "insuranceDeposited", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "market", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "marketRegistry", - "outputs": [ - { - "internalType": "contract IMarketRegistry", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "amountToRedeem", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - }, - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "internalType": "struct LongPositionParams", - "name": "params", - "type": "tuple" - } - ], - "name": "openLong", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - } - ], - "internalType": "struct ShortPositionParams", - "name": "params", - "type": "tuple" - } - ], - "name": "openShort", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "quoteAmount", - "type": "uint256" - } - ], - "name": "processQuoteMint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "redeemableAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "processQuoteRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quoteMinted", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "quoteToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountOutMinimum", - "type": "uint256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - }, - { - "internalType": "uint24", - "name": "swapPoolFee", - "type": "uint24" - }, - { - "internalType": "int8", - "name": "polarity", - "type": "int8" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "rebalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "int8", - "name": "polarity", - "type": "int8" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "rebalanceLite", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "redeemableSoftCap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "redeemableUnderManagement", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_controller", - "type": "address" - } - ], - "name": "setController", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "softCap", - "type": "uint256" - } - ], - "name": "setRedeemableSoftCap", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_swapper", - "type": "address" - } - ], - "name": "setSpotSwapper", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "spotSwapper", - "outputs": [ - { - "internalType": "contract ISwapper", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalFeesPaid", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "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": "vault", - "outputs": [ - { - "internalType": "contract IVault", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "withdrawCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "withdrawInsurance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60a06040523060805234801561001457600080fd5b50608051614fb861004c600039600081816110a60152818161113c015281816115af015281816116450152611a810152614fb86000f3fe6080604052600436106102f25760003560e01c80636f1874171161018f578063bedfc05d116100e1578063ecb96fe61161008a578063f77c479111610064578063f77c479114610817578063fbfa77cf14610838578063ffa1ad741461085857600080fd5b8063ecb96fe6146107c2578063f084c24b146107e2578063f2fde38b146107f757600080fd5b8063e4bdc4d2116100bb578063e4bdc4d21461076b578063e9fd58621461078b578063ebf5a908146107a257600080fd5b8063bedfc05d14610715578063c55dae631461072a578063de2b1ff21461074b57600080fd5b80638da5cb5b11610143578063bad4a01f1161011d578063bad4a01f146106c7578063bdf7f54e146106e7578063be3519a2146106fe57600080fd5b80638da5cb5b1461067457806392eefe9b14610692578063b44b3a8f146106b257600080fd5b806379604f0c1161017457806379604f0c1461061357806380f556051461063357806389b211af1461065457600080fd5b80636f187417146105e9578063715018a6146105fe57600080fd5b806339af3a81116102485780634f3de3a9116101fc5780636311d06a116101d65780636311d06a1461059b57806365c4f126146105b25780636ed93dd0146105d257600080fd5b80634f3de3a91461054657806352d1902d146105665780635ae809511461057b57600080fd5b8063487b00c21161022d578063487b00c2146104de5780634a2accc2146105135780634f1ef2861461053357600080fd5b806339af3a81146104a75780633c94de54146104c757600080fd5b806323ae7152116102aa5780633659cfe6116102845780633659cfe61461041b578063378aa7011461043b57806338086bd31461049257600080fd5b806323ae7152146103c457806334e0e38b146103db57806335876476146103fb57600080fd5b80630f324233116102db5780630f32423314610356578063190e03ec14610384578063217a4b70146103a457600080fd5b80630af504cc146102f75780630af9680014610319575b600080fd5b34801561030357600080fd5b50610317610312366004614724565b6108a4565b005b34801561032557600080fd5b5060fc54610339906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561036257600080fd5b50610376610371366004614754565b6109e4565b60405190815260200161034d565b34801561039057600080fd5b5060fe54610339906001600160a01b031681565b3480156103b057600080fd5b5060ff54610339906001600160a01b031681565b3480156103d057600080fd5b506103766101045481565b3480156103e757600080fd5b506103766103f6366004614724565b610b39565b34801561040757600080fd5b5061031761041636600461477a565b610d36565b34801561042757600080fd5b50610317610436366004614810565b61109b565b34801561044757600080fd5b50610450611239565b60405161034d9190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b34801561049e57600080fd5b506103766112a6565b3480156104b357600080fd5b506103176104c2366004614810565b61136f565b3480156104d357600080fd5b506103766101075481565b3480156104ea57600080fd5b506104fe6104f936600461483f565b6113e6565b6040805192835260208301919091520161034d565b34801561051f57600080fd5b506104fe61052e3660046148a1565b6114c2565b610317610541366004614956565b6115a4565b34801561055257600080fd5b50610317610561366004614724565b611733565b34801561057257600080fd5b50610376611a74565b34801561058757600080fd5b50610376610596366004614810565b611b39565b3480156105a757600080fd5b506103766101035481565b3480156105be57600080fd5b506104fe6105cd3660046149fe565b611bd0565b3480156105de57600080fd5b50610376620f424081565b3480156105f557600080fd5b50610376611c49565b34801561060a57600080fd5b50610317611ce3565b34801561061f57600080fd5b506104fe61062e366004614a7a565b611cf7565b34801561063f57600080fd5b5061010154610339906001600160a01b031681565b34801561066057600080fd5b5061031761066f366004614724565b611d7e565b34801561068057600080fd5b506097546001600160a01b0316610339565b34801561069e57600080fd5b506103176106ad366004614810565b611f4c565b3480156106be57600080fd5b50610376611fc4565b3480156106d357600080fd5b506103176106e2366004614ae3565b612113565b3480156106f357600080fd5b506103766101085481565b34801561070a57600080fd5b506103766101055481565b34801561072157600080fd5b5061037661224f565b34801561073657600080fd5b5061010054610339906001600160a01b031681565b34801561075757600080fd5b50610317610766366004614ae3565b6122f7565b34801561077757600080fd5b50610376610786366004614ae3565b61235b565b34801561079757600080fd5b506103766101065481565b3480156107ae57600080fd5b506103766107bd366004614810565b612560565b3480156107ce57600080fd5b5060fd54610339906001600160a01b031681565b3480156107ee57600080fd5b50610376612927565b34801561080357600080fd5b50610317610812366004614810565b61293f565b34801561082357600080fd5b5061010254610339906001600160a01b031681565b34801561084457600080fd5b5060fb54610339906001600160a01b031681565b34801561086457600080fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161034d9190614b28565b610102546001600160a01b031633146108d757604051633338cdbd60e11b81523360048201526024015b60405180910390fd5b8161010360008282546108ea9190614b71565b909155505060fb546101005460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b15801561094057600080fd5b505af1158015610954573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b1580156109a757600080fd5b505af11580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190614b88565b505050565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190614baa565b610101546040517f99e4a7710000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff86166024820152919250600091610b3191610b2c91908516906399e4a7719060440160206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e9190614baa565b6001600160a01b03166129cc565b6129ef565b949350505050565b610102546000906001600160a01b03163314610b6a57604051633338cdbd60e11b81523360048201526024016108ce565b610b7383612a11565b826101086000828254610b869190614bc7565b92505081905550826101056000828254610ba09190614b71565b925050819055506000610c3c601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfc57600080fd5b505afa158015610c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c349190614c1f565b869190612a6d565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101849052929350169063f3fef3a390604401600060405180830381600087803b158015610c8e57600080fd5b505af1158015610ca2573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03878116600483015260248201869052909116925063a9059cbb9150604401602060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c9190614b88565b5090505b92915050565b600054610100900460ff1615808015610d565750600054600160ff909116105b80610d705750303b158015610d70575060005460ff166001145b610de25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610e23576000805461ff0019166101001790555b610e2b612aa3565b610e33612b28565b60408051600780825261010082019092526000916020820160e0803683370190505090508881600081518110610e6b57610e6b614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508781600181518110610e9f57610e9f614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508681600281518110610ed357610ed3614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600381518110610f0757610f07614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508481600481518110610f3b57610f3b614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600581518110610f6f57610f6f614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600681518110610fa357610fa3614c42565b60200260200101906001600160a01b031690816001600160a01b031681525050610fcc81612ba5565b5060fc805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b038a81169190911790925560fb805482168b841617905560fd805482168984161790556101028054821685841617905560ff805482168684161790556101008054821687841617905561010180549091169187169190911790558015611091576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561113a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146112115760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108ce565b61121a81612c58565b6040805160008082526020820190925261123691839190612c60565b50565b61126b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528061010354815260200161010454815260200161010554815260200161010654815260200161010754815250905090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526000928392169063edd0b5cb9060240160206040518083038186803b15801561130b57600080fd5b505afa15801561131f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113439190614c58565b62ffffff169050611369620f424061136383670de0b6b3a7640000612e0f565b90612e24565b91505090565b611377612e39565b6001600160a01b0381166113b7576040517fecc6fdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fe805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080600260c954141561143c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955600019600086900b14156114635761145a868585612e93565b915091506114b2565b8460000b6001141561147a5761145a86858561320e565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600086900b60048201526024016108ce565b600160c955909590945092505050565b600080600260c95414156115185760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955600019600085900b141561154157611538888888888761358d565b91509150611592565b8360000b6001141561155a576115388888888887613ad7565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600085900b60048201526024016108ce565b600160c9559097909650945050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116435760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661169e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461171a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108ce565b61172382612c58565b61172f82826001612c60565b5050565b600260c95414156117865760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955611793612e39565b816117b157604051631f2a200560e01b815260040160405180910390fd5b60ff546040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152600092169063dd62ed3e9060440160206040518083038186803b15801561181657600080fd5b505afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e9190614c75565b905082811015611894576040517f9912131900000000000000000000000000000000000000000000000000000000815260048101829052602481018490526044016108ce565b8261010460008282546118a79190614c8e565b909155505060ff546040516323b872dd60e01b81526001600160a01b03848116600483015230602483015260448201869052909116906323b872dd90606401602060405180830381600087803b15801561190057600080fd5b505af1158015611914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119389190614b88565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b390604401602060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c19190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b158015611a1257600080fd5b505af1158015611a26573d6000803e3d6000fd5b50506040518581526001600160a01b03851692503391507f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f69060200160405180910390a35050600160c95550565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b145760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108ce565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60fc546040517f5ae809510000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635ae809519060240160206040518083038186803b158015611b9857600080fd5b505afa158015611bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d309190614c75565b6101025460009081906001600160a01b03163314611c0357604051633338cdbd60e11b81523360048201526024016108ce565b60008060019050600080611c21876000015185858a60400151613f57565b91509150806101056000828254611c389190614b71565b909155509195509350505050915091565b60fb546040517fc39994440000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b03169063c39994449060240160206040518083038186803b158015611ca657600080fd5b505afa158015611cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cde9190614c75565b905090565b611ceb612e39565b611cf56000614109565b565b6101025460009081906001600160a01b03163314611d2a57604051633338cdbd60e11b81523360048201526024016108ce565b600060019050600060019050600080611d4d876000015185858a60400151613f57565b91509150806101056000828254611d649190614c8e565b90915550611d729050614168565b90945092505050915091565b600260c9541415611dd15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955611dde612e39565b81611dfc57604051631f2a200560e01b815260040160405180910390fd5b816101046000828254611e0f9190614b71565b909155505060fb5460ff5460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b158015611e6457600080fd5b505af1158015611e78573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b158015611eca57600080fd5b505af1158015611ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f029190614b88565b506040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e9060200160405180910390a35050600160c955565b611f54612e39565b6001600160a01b038116611f94576040517fecc6fdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610102805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080611fd1600f6109e4565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205b9190614baa565b610101546040517fb2e271480000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03918216602482015291169063b2e271489060440160206040518083038186803b1580156120bf57600080fd5b505afa1580156120d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f79190614c75565b905061210c612105826141b9565b8390612e0f565b9250505090565b610102546001600160a01b0316331461214157604051633338cdbd60e11b81523360048201526024016108ce565b8061010360008282546121549190614c8e565b90915550506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b1580156121aa57600080fd5b505af11580156121be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e29190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b15801561223457600080fd5b505af1158015612248573d6000803e3d6000fd5b5050505050565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600092919091169063edd0b5cb9060240160206040518083038186803b1580156122b557600080fd5b505afa1580156122c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ed9190614c58565b62ffffff16905090565b6122ff612e39565b8061231d57604051631f2a200560e01b815260040160405180910390fd5b61010781905560405181815233907f34bdcf409ce95f734fb7583240c6266616d468cf38e556801bdb3e7e8733a5559060200160405180910390a250565b610102546000906001600160a01b0316331461238c57604051633338cdbd60e11b81523360048201526024016108ce565b600061242060ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156123df57600080fd5b505afa1580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124179190614c1f565b84906012612a6d565b905061242b816141d8565b80610108600082825461243e9190614ca6565b925050819055508061010560008282546124589190614c8e565b909155506124669050614168565b60ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b390604401602060405180830381600087803b1580156124b657600080fd5b505af11580156124ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ee9190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b15801561253f57600080fd5b505af1158015612553573d6000803e3d6000fd5b509293505050505b919050565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125b157600080fd5b505afa1580156125c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e99190614baa565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b815260040160206040518083038186803b15801561263b57600080fd5b505afa15801561264f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126739190614baa565b60fb546040517ff8b2cb4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529293506000929091169063f8b2cb4f9060240160206040518083038186803b1580156126d757600080fd5b505afa1580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f9190614c75565b9050600081121561274f576040517fb8176028000000000000000000000000000000000000000000000000000000008152600481018290526024016108ce565b6040517f80f57f110000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152600091908416906380f57f119060240160206040518083038186803b1580156127ad57600080fd5b505afa1580156127c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e59190614c75565b9050600061283a60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156123df57600080fd5b6040517fbba85bcf0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015291925060009182919088169063bba85bcf9060240160606040518083038186803b15801561289d57600080fd5b505afa1580156128b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d59190614cfe565b92509250506000848284866128ea9190614ca6565b6128f49190614bc7565b6128fe9190614bc7565b90506000811361291657612911816141b9565b612919565b60005b9a9950505050505050505050565b6000612931611fc4565b61010554611cde9190614bc7565b612947612e39565b6001600160a01b0381166129c35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108ce565b61123681614109565b6000610d306001600160a01b038316806c0100000000000000000000000061423b565b6000610d3082670de0b6b3a76400006c0100000000000000000000000061423b565b6000612a1b612927565b9050600081131580612a2c57508181105b1561172f576040517f1f04c58a00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016108ce565b6000612a7a83600a614e10565b612a8583600a614e10565b612a8f9086614e1f565b612a999190614e3e565b90505b9392505050565b600054610100900460ff16612b205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b611cf56143b5565b600054610100900460ff16611cf55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b60005b815181101561172f57612be6828281518110612bc657612bc6614c42565b60200260200101516001600160a01b03166001600160a01b03163b151590565b612c4657818181518110612bfc57612bfc614c42565b60200260200101516040517f247e97010000000000000000000000000000000000000000000000000000000081526004016108ce91906001600160a01b0391909116815260200190565b80612c5081614e60565b915050612ba8565b611236612e39565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612c93576109df8361443b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612ccc57600080fd5b505afa925050508015612cfc575060408051601f3d908101601f19168201909252612cf991810190614c75565b60015b612d6e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108ce565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612e035760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108ce565b506109df838383614506565b6000612a9c8383670de0b6b3a7640000614531565b6000612a9c83670de0b6b3a76400008461455f565b6097546001600160a01b03163314611cf55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ce565b6000806000612f2a60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ee957600080fd5b505afa158015612efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f219190614c1f565b87906012612a6d565b9050612f35816141d8565b60ff546040516323b872dd60e01b81526001600160a01b03868116600483015230602483015260448201899052909116906323b872dd90606401602060405180830381600087803b158015612f8957600080fd5b505af1158015612f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc19190614b88565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810189905291169063095ea7b390604401602060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304a9190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018990529116906347e7ef2490604401600060405180830381600087803b15801561309b57600080fd5b505af11580156130af573d6000803e3d6000fd5b50505050600080600190506000806130c98585858c613f57565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561311f57600080fd5b505af1158015613133573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b15801561318657600080fd5b505af115801561319a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131be9190614b88565b50604080518381526020810183905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a190999098509650505050505050565b600080600061326460ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ee957600080fd5b905061326f81612a11565b6001600080806132818585838c613f57565b9150915060006132996132926112a6565b8490612e0f565b6132a39084614c8e565b610100546040516323b872dd60e01b81526001600160a01b038c81166004830152306024830152604482018490529293509116906323b872dd90606401602060405180830381600087803b1580156132fa57600080fd5b505af115801561330e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133329190614b88565b506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b15801561338457600080fd5b505af1158015613398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bc9190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b15801561340e57600080fd5b505af1158015613422573d6000803e3d6000fd5b505060fb5460ff5460405163f3fef3a360e01b81526001600160a01b03928316945063f3fef3a393506134729291909116908f906004016001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561348c57600080fd5b505af11580156134a0573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03909116925063a9059cbb91506134ea908c908f906004016001600160a01b03929092168252602082015260400190565b602060405180830381600087803b15801561350457600080fd5b505af1158015613518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061353c9190614b88565b50604080518481526020810184905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a15090999098509650505050505050565b600080600061362460ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e357600080fd5b505afa1580156135f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061361b9190614c1f565b89906012612a6d565b905061362f816141d8565b6000600181806136418582858d613f57565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561369757600080fd5b505af11580156136ab573d6000803e3d6000fd5b5050505060006040518060c0016040528061010060009054906101000a90046001600160a01b03166001600160a01b0316815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031681526020018481526020018d81526020018c6001600160a01b031681526020018b62ffffff168152509050600060fe60009054906101000a90046001600160a01b03166001600160a01b03166368e32802836040518263ffffffff1660e01b81526004016137c19190600060c0820190506001600160a01b0380845116835280602085015116602084015260408401516040840152606084015160608401528060808501511660808401525062ffffff60a08401511660a083015292915050565b602060405180830381600087803b1580156137db57600080fd5b505af11580156137ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138139190614c75565b90506000816138ab601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561386b57600080fd5b505afa15801561387f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138a39190614c1f565b879190612a6d565b6138b59190614bc7565b905060008113156139525760ff546040516323b872dd60e01b81526001600160a01b038d8116600483015230602483015260448201849052909116906323b872dd90606401602060405180830381600087803b15801561391457600080fd5b505af1158015613928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061394c9190614b88565b50613a18565b6000811215613a185760ff546001600160a01b03166323b872dd308d613977856141b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b1580156139de57600080fd5b505af11580156139f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a169190614b88565b505b60fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018790529116906347e7ef2490604401600060405180830381600087803b158015613a6857600080fd5b505af1158015613a7c573d6000803e3d6000fd5b505060408051888152602081018890529081018490527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9250606001905060405180910390a150929d919c50909a5050505050505050505050565b6000806000613b2d60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e357600080fd5b9050613b3881612a11565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b039182166004820152602481018b905291169063f3fef3a390604401600060405180830381600087803b158015613b8857600080fd5b505af1158015613b9c573d6000803e3d6000fd5b50506040805160c08101825260ff546001600160a01b03908116825261010054811660208301908152828401878152606084018e81528d84166080860190815262ffffff8e811660a0880190815260fe5498517f68e328020000000000000000000000000000000000000000000000000000000081528851881660048201529551871660248701529351604486015291516064850152518416608484015290511660a48201529194506000935091909116906368e328029060c401602060405180830381600087803b158015613c7157600080fd5b505af1158015613c85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ca99190614c75565b60fb54610100546040516311f9fbc960e21b81526001600160a01b0391821660048201526024810184905292935016906347e7ef2490604401600060405180830381600087803b158015613cfc57600080fd5b505af1158015613d10573d6000803e3d6000fd5b50505050600080613d2585600160008d613f57565b90925090506000613d368484614bc7565b90506000811315613e3d57610100546040516323b872dd60e01b81526001600160a01b038b8116600483015230602483015260448201849052909116906323b872dd90606401602060405180830381600087803b158015613d9657600080fd5b505af1158015613daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dce9190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b158015613e2057600080fd5b505af1158015613e34573d6000803e3d6000fd5b50505050613f04565b6000811215613f0457610100546001600160a01b03166323b872dd308b613e63856141b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b158015613eca57600080fd5b505af1158015613ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f029190614b88565b505b60408051848152602081018490529081018290527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9060600160405180910390a150909b909a5098505050505050505050565b6040805161010081018252610101546001600160a01b03908116825285151560208301908152851515838501908152606084018981526000608086018181524260a0880190815289871660c0890190815260e0890184815260fc549a517fb6b1b6c30000000000000000000000000000000000000000000000000000000081528a518a16600482015297511515602489015295511515604488015293516064870152905160848601525160a48501529051841660c4840152905160e48301529384938493909284928392169063b6b1b6c390610104016040805180830381600087803b15801561404657600080fd5b505af115801561405a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061407e9190614e7b565b91509150600061408d8261457e565b90508061010660008282546140a29190614c8e565b9091555050604080518b15158152602081018d90528a1515818301526001600160a01b038a16606082015290517f9a15d84188925e678e5ac0dacda00aa8a73ebe2346741b3b64fc9919f494bbe49181900360800190a15090999098509650505050505050565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61010754610105541115611cf55761010754610105546040517fdc681c5a000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016108ce565b6000808212156141d4576141cf82600019614e9f565b610d30565b5090565b60006141e2612927565b9050600081121580612a2c5750816141f9826141b9565b101561172f576040517f1f04c58a00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016108ce565b600080806000198587098587029250828110838203039150508060001415614275576000841161426a57600080fd5b508290049050612a9c565b80841161428157600080fd5b60008486880980840393811190920391905060006142a186196001614c8e565b86169586900495938490049360008190030460010190506142c28184614e1f565b9093179260006142d3876003614e1f565b60021890506142e28188614e1f565b6142ed906002614b71565b6142f79082614e1f565b90506143038188614e1f565b61430e906002614b71565b6143189082614e1f565b90506143248188614e1f565b61432f906002614b71565b6143399082614e1f565b90506143458188614e1f565b614350906002614b71565b61435a9082614e1f565b90506143668188614e1f565b614371906002614b71565b61437b9082614e1f565b90506143878188614e1f565b614392906002614b71565b61439c9082614e1f565b90506143a88186614e1f565b9998505050505050505050565b600054610100900460ff166144325760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b611cf533614109565b6001600160a01b0381163b6144b85760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108ce565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61450f8361458b565b60008251118061451c5750805b156109df5761452b83836145cb565b50505050565b82820281151584158583048514171661454957600080fd5b6001826001830304018115150290509392505050565b82820281151584158583048514171661457757600080fd5b0492915050565b6000610d306121056112a6565b6145948161443b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61464a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108ce565b600080846001600160a01b0316846040516146659190614f3f565b600060405180830381855af49150503d80600081146146a0576040519150601f19603f3d011682016040523d82523d6000602084013e6146a5565b606091505b50915091506146cd8282604051806060016040528060278152602001614f5c602791396146d6565b95945050505050565b606083156146e5575081612a9c565b8251156146f55782518084602001fd5b8160405162461bcd60e51b81526004016108ce9190614b28565b6001600160a01b038116811461123657600080fd5b6000806040838503121561473757600080fd5b8235915060208301356147498161470f565b809150509250929050565b60006020828403121561476657600080fd5b813563ffffffff81168114612a9c57600080fd5b600080600080600080600060e0888a03121561479557600080fd5b87356147a08161470f565b965060208801356147b08161470f565b955060408801356147c08161470f565b945060608801356147d08161470f565b935060808801356147e08161470f565b925060a08801356147f08161470f565b915060c08801356148008161470f565b8091505092959891949750929550565b60006020828403121561482257600080fd5b8135612a9c8161470f565b8035600081900b811461255b57600080fd5b6000806000806080858703121561485557600080fd5b843593506148656020860161482d565b925060408501356148758161470f565b915060608501356148858161470f565b939692955090935050565b62ffffff8116811461123657600080fd5b60008060008060008060c087890312156148ba57600080fd5b863595506020870135945060408701356148d38161470f565b935060608701356148e381614890565b92506148f16080880161482d565b915060a08701356149018161470f565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561494e5761494e61490f565b604052919050565b6000806040838503121561496957600080fd5b82356149748161470f565b915060208381013567ffffffffffffffff8082111561499257600080fd5b818601915086601f8301126149a657600080fd5b8135818111156149b8576149b861490f565b6149ca84601f19601f84011601614925565b915080825287848285010111156149e057600080fd5b80848401858401376000848284010152508093505050509250929050565b600060808284031215614a1057600080fd5b6040516080810181811067ffffffffffffffff82111715614a3357614a3361490f565b604052823581526020830135614a488161470f565b60208201526040830135614a5b8161470f565b60408201526060830135614a6e8161470f565b60608201529392505050565b600060608284031215614a8c57600080fd5b6040516060810181811067ffffffffffffffff82111715614aaf57614aaf61490f565b604052823581526020830135614ac48161470f565b60208201526040830135614ad78161470f565b60408201529392505050565b600060208284031215614af557600080fd5b5035919050565b60005b83811015614b17578181015183820152602001614aff565b8381111561452b5750506000910152565b6020815260008251806020840152614b47816040850160208701614afc565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b600082821015614b8357614b83614b5b565b500390565b600060208284031215614b9a57600080fd5b81518015158114612a9c57600080fd5b600060208284031215614bbc57600080fd5b8151612a9c8161470f565b600080831283600160ff1b01831281151615614be557614be5614b5b565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018313811615614c1957614c19614b5b565b50500390565b600060208284031215614c3157600080fd5b815160ff81168114612a9c57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215614c6a57600080fd5b8151612a9c81614890565b600060208284031215614c8757600080fd5b5051919050565b60008219821115614ca157614ca1614b5b565b500190565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03841381151615614ce057614ce0614b5b565b82600160ff1b038412811615614cf857614cf8614b5b565b50500190565b600080600060608486031215614d1357600080fd5b8351925060208401519150604084015190509250925092565b600181815b80851115614d67578160001904821115614d4d57614d4d614b5b565b80851615614d5a57918102915b93841c9390800290614d31565b509250929050565b600082614d7e57506001610d30565b81614d8b57506000610d30565b8160018114614da15760028114614dab57614dc7565b6001915050610d30565b60ff841115614dbc57614dbc614b5b565b50506001821b610d30565b5060208310610133831016604e8410600b8410161715614dea575081810a610d30565b614df48383614d2c565b8060001904821115614e0857614e08614b5b565b029392505050565b6000612a9c60ff841683614d6f565b6000816000190483118215151615614e3957614e39614b5b565b500290565b600082614e5b57634e487b7160e01b600052601260045260246000fd5b500490565b6000600019821415614e7457614e74614b5b565b5060010190565b60008060408385031215614e8e57600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615614ee057614ee0614b5b565b600160ff1b6000871286820588128184161615614eff57614eff614b5b565b60008712925087820587128484161615614f1b57614f1b614b5b565b87850587128184161615614f3157614f31614b5b565b505050929093029392505050565b60008251614f51818460208701614afc565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ea96acafbee5527c2ca2d88f4deb494ba9446269fa4db8ccc17c366c1be20ace64736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106102f25760003560e01c80636f1874171161018f578063bedfc05d116100e1578063ecb96fe61161008a578063f77c479111610064578063f77c479114610817578063fbfa77cf14610838578063ffa1ad741461085857600080fd5b8063ecb96fe6146107c2578063f084c24b146107e2578063f2fde38b146107f757600080fd5b8063e4bdc4d2116100bb578063e4bdc4d21461076b578063e9fd58621461078b578063ebf5a908146107a257600080fd5b8063bedfc05d14610715578063c55dae631461072a578063de2b1ff21461074b57600080fd5b80638da5cb5b11610143578063bad4a01f1161011d578063bad4a01f146106c7578063bdf7f54e146106e7578063be3519a2146106fe57600080fd5b80638da5cb5b1461067457806392eefe9b14610692578063b44b3a8f146106b257600080fd5b806379604f0c1161017457806379604f0c1461061357806380f556051461063357806389b211af1461065457600080fd5b80636f187417146105e9578063715018a6146105fe57600080fd5b806339af3a81116102485780634f3de3a9116101fc5780636311d06a116101d65780636311d06a1461059b57806365c4f126146105b25780636ed93dd0146105d257600080fd5b80634f3de3a91461054657806352d1902d146105665780635ae809511461057b57600080fd5b8063487b00c21161022d578063487b00c2146104de5780634a2accc2146105135780634f1ef2861461053357600080fd5b806339af3a81146104a75780633c94de54146104c757600080fd5b806323ae7152116102aa5780633659cfe6116102845780633659cfe61461041b578063378aa7011461043b57806338086bd31461049257600080fd5b806323ae7152146103c457806334e0e38b146103db57806335876476146103fb57600080fd5b80630f324233116102db5780630f32423314610356578063190e03ec14610384578063217a4b70146103a457600080fd5b80630af504cc146102f75780630af9680014610319575b600080fd5b34801561030357600080fd5b50610317610312366004614724565b6108a4565b005b34801561032557600080fd5b5060fc54610339906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561036257600080fd5b50610376610371366004614754565b6109e4565b60405190815260200161034d565b34801561039057600080fd5b5060fe54610339906001600160a01b031681565b3480156103b057600080fd5b5060ff54610339906001600160a01b031681565b3480156103d057600080fd5b506103766101045481565b3480156103e757600080fd5b506103766103f6366004614724565b610b39565b34801561040757600080fd5b5061031761041636600461477a565b610d36565b34801561042757600080fd5b50610317610436366004614810565b61109b565b34801561044757600080fd5b50610450611239565b60405161034d9190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b34801561049e57600080fd5b506103766112a6565b3480156104b357600080fd5b506103176104c2366004614810565b61136f565b3480156104d357600080fd5b506103766101075481565b3480156104ea57600080fd5b506104fe6104f936600461483f565b6113e6565b6040805192835260208301919091520161034d565b34801561051f57600080fd5b506104fe61052e3660046148a1565b6114c2565b610317610541366004614956565b6115a4565b34801561055257600080fd5b50610317610561366004614724565b611733565b34801561057257600080fd5b50610376611a74565b34801561058757600080fd5b50610376610596366004614810565b611b39565b3480156105a757600080fd5b506103766101035481565b3480156105be57600080fd5b506104fe6105cd3660046149fe565b611bd0565b3480156105de57600080fd5b50610376620f424081565b3480156105f557600080fd5b50610376611c49565b34801561060a57600080fd5b50610317611ce3565b34801561061f57600080fd5b506104fe61062e366004614a7a565b611cf7565b34801561063f57600080fd5b5061010154610339906001600160a01b031681565b34801561066057600080fd5b5061031761066f366004614724565b611d7e565b34801561068057600080fd5b506097546001600160a01b0316610339565b34801561069e57600080fd5b506103176106ad366004614810565b611f4c565b3480156106be57600080fd5b50610376611fc4565b3480156106d357600080fd5b506103176106e2366004614ae3565b612113565b3480156106f357600080fd5b506103766101085481565b34801561070a57600080fd5b506103766101055481565b34801561072157600080fd5b5061037661224f565b34801561073657600080fd5b5061010054610339906001600160a01b031681565b34801561075757600080fd5b50610317610766366004614ae3565b6122f7565b34801561077757600080fd5b50610376610786366004614ae3565b61235b565b34801561079757600080fd5b506103766101065481565b3480156107ae57600080fd5b506103766107bd366004614810565b612560565b3480156107ce57600080fd5b5060fd54610339906001600160a01b031681565b3480156107ee57600080fd5b50610376612927565b34801561080357600080fd5b50610317610812366004614810565b61293f565b34801561082357600080fd5b5061010254610339906001600160a01b031681565b34801561084457600080fd5b5060fb54610339906001600160a01b031681565b34801561086457600080fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161034d9190614b28565b610102546001600160a01b031633146108d757604051633338cdbd60e11b81523360048201526024015b60405180910390fd5b8161010360008282546108ea9190614b71565b909155505060fb546101005460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b15801561094057600080fd5b505af1158015610954573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b1580156109a757600080fd5b505af11580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190614b88565b505050565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190614baa565b610101546040517f99e4a7710000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff86166024820152919250600091610b3191610b2c91908516906399e4a7719060440160206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e9190614baa565b6001600160a01b03166129cc565b6129ef565b949350505050565b610102546000906001600160a01b03163314610b6a57604051633338cdbd60e11b81523360048201526024016108ce565b610b7383612a11565b826101086000828254610b869190614bc7565b92505081905550826101056000828254610ba09190614b71565b925050819055506000610c3c601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfc57600080fd5b505afa158015610c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c349190614c1f565b869190612a6d565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101849052929350169063f3fef3a390604401600060405180830381600087803b158015610c8e57600080fd5b505af1158015610ca2573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03878116600483015260248201869052909116925063a9059cbb9150604401602060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c9190614b88565b5090505b92915050565b600054610100900460ff1615808015610d565750600054600160ff909116105b80610d705750303b158015610d70575060005460ff166001145b610de25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610e23576000805461ff0019166101001790555b610e2b612aa3565b610e33612b28565b60408051600780825261010082019092526000916020820160e0803683370190505090508881600081518110610e6b57610e6b614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508781600181518110610e9f57610e9f614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508681600281518110610ed357610ed3614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600381518110610f0757610f07614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508481600481518110610f3b57610f3b614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600581518110610f6f57610f6f614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600681518110610fa357610fa3614c42565b60200260200101906001600160a01b031690816001600160a01b031681525050610fcc81612ba5565b5060fc805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b038a81169190911790925560fb805482168b841617905560fd805482168984161790556101028054821685841617905560ff805482168684161790556101008054821687841617905561010180549091169187169190911790558015611091576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561113a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146112115760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108ce565b61121a81612c58565b6040805160008082526020820190925261123691839190612c60565b50565b61126b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528061010354815260200161010454815260200161010554815260200161010654815260200161010754815250905090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526000928392169063edd0b5cb9060240160206040518083038186803b15801561130b57600080fd5b505afa15801561131f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113439190614c58565b62ffffff169050611369620f424061136383670de0b6b3a7640000612e0f565b90612e24565b91505090565b611377612e39565b6001600160a01b0381166113b7576040517fecc6fdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fe805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080600260c954141561143c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955600019600086900b14156114635761145a868585612e93565b915091506114b2565b8460000b6001141561147a5761145a86858561320e565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600086900b60048201526024016108ce565b600160c955909590945092505050565b600080600260c95414156115185760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955600019600085900b141561154157611538888888888761358d565b91509150611592565b8360000b6001141561155a576115388888888887613ad7565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600085900b60048201526024016108ce565b600160c9559097909650945050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116435760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661169e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461171a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108ce565b61172382612c58565b61172f82826001612c60565b5050565b600260c95414156117865760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955611793612e39565b816117b157604051631f2a200560e01b815260040160405180910390fd5b60ff546040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152600092169063dd62ed3e9060440160206040518083038186803b15801561181657600080fd5b505afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e9190614c75565b905082811015611894576040517f9912131900000000000000000000000000000000000000000000000000000000815260048101829052602481018490526044016108ce565b8261010460008282546118a79190614c8e565b909155505060ff546040516323b872dd60e01b81526001600160a01b03848116600483015230602483015260448201869052909116906323b872dd90606401602060405180830381600087803b15801561190057600080fd5b505af1158015611914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119389190614b88565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b390604401602060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c19190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b158015611a1257600080fd5b505af1158015611a26573d6000803e3d6000fd5b50506040518581526001600160a01b03851692503391507f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f69060200160405180910390a35050600160c95550565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b145760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108ce565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60fc546040517f5ae809510000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635ae809519060240160206040518083038186803b158015611b9857600080fd5b505afa158015611bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d309190614c75565b6101025460009081906001600160a01b03163314611c0357604051633338cdbd60e11b81523360048201526024016108ce565b60008060019050600080611c21876000015185858a60400151613f57565b91509150806101056000828254611c389190614b71565b909155509195509350505050915091565b60fb546040517fc39994440000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b03169063c39994449060240160206040518083038186803b158015611ca657600080fd5b505afa158015611cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cde9190614c75565b905090565b611ceb612e39565b611cf56000614109565b565b6101025460009081906001600160a01b03163314611d2a57604051633338cdbd60e11b81523360048201526024016108ce565b600060019050600060019050600080611d4d876000015185858a60400151613f57565b91509150806101056000828254611d649190614c8e565b90915550611d729050614168565b90945092505050915091565b600260c9541415611dd15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955611dde612e39565b81611dfc57604051631f2a200560e01b815260040160405180910390fd5b816101046000828254611e0f9190614b71565b909155505060fb5460ff5460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b158015611e6457600080fd5b505af1158015611e78573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b158015611eca57600080fd5b505af1158015611ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f029190614b88565b506040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e9060200160405180910390a35050600160c955565b611f54612e39565b6001600160a01b038116611f94576040517fecc6fdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610102805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080611fd1600f6109e4565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205b9190614baa565b610101546040517fb2e271480000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03918216602482015291169063b2e271489060440160206040518083038186803b1580156120bf57600080fd5b505afa1580156120d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f79190614c75565b905061210c612105826141b9565b8390612e0f565b9250505090565b610102546001600160a01b0316331461214157604051633338cdbd60e11b81523360048201526024016108ce565b8061010360008282546121549190614c8e565b90915550506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b1580156121aa57600080fd5b505af11580156121be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e29190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b15801561223457600080fd5b505af1158015612248573d6000803e3d6000fd5b5050505050565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600092919091169063edd0b5cb9060240160206040518083038186803b1580156122b557600080fd5b505afa1580156122c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ed9190614c58565b62ffffff16905090565b6122ff612e39565b8061231d57604051631f2a200560e01b815260040160405180910390fd5b61010781905560405181815233907f34bdcf409ce95f734fb7583240c6266616d468cf38e556801bdb3e7e8733a5559060200160405180910390a250565b610102546000906001600160a01b0316331461238c57604051633338cdbd60e11b81523360048201526024016108ce565b600061242060ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156123df57600080fd5b505afa1580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124179190614c1f565b84906012612a6d565b905061242b816141d8565b80610108600082825461243e9190614ca6565b925050819055508061010560008282546124589190614c8e565b909155506124669050614168565b60ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b390604401602060405180830381600087803b1580156124b657600080fd5b505af11580156124ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ee9190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b15801561253f57600080fd5b505af1158015612553573d6000803e3d6000fd5b509293505050505b919050565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125b157600080fd5b505afa1580156125c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e99190614baa565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b815260040160206040518083038186803b15801561263b57600080fd5b505afa15801561264f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126739190614baa565b60fb546040517ff8b2cb4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529293506000929091169063f8b2cb4f9060240160206040518083038186803b1580156126d757600080fd5b505afa1580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f9190614c75565b9050600081121561274f576040517fb8176028000000000000000000000000000000000000000000000000000000008152600481018290526024016108ce565b6040517f80f57f110000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152600091908416906380f57f119060240160206040518083038186803b1580156127ad57600080fd5b505afa1580156127c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e59190614c75565b9050600061283a60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156123df57600080fd5b6040517fbba85bcf0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015291925060009182919088169063bba85bcf9060240160606040518083038186803b15801561289d57600080fd5b505afa1580156128b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d59190614cfe565b92509250506000848284866128ea9190614ca6565b6128f49190614bc7565b6128fe9190614bc7565b90506000811361291657612911816141b9565b612919565b60005b9a9950505050505050505050565b6000612931611fc4565b61010554611cde9190614bc7565b612947612e39565b6001600160a01b0381166129c35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108ce565b61123681614109565b6000610d306001600160a01b038316806c0100000000000000000000000061423b565b6000610d3082670de0b6b3a76400006c0100000000000000000000000061423b565b6000612a1b612927565b9050600081131580612a2c57508181105b1561172f576040517f1f04c58a00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016108ce565b6000612a7a83600a614e10565b612a8583600a614e10565b612a8f9086614e1f565b612a999190614e3e565b90505b9392505050565b600054610100900460ff16612b205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b611cf56143b5565b600054610100900460ff16611cf55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b60005b815181101561172f57612be6828281518110612bc657612bc6614c42565b60200260200101516001600160a01b03166001600160a01b03163b151590565b612c4657818181518110612bfc57612bfc614c42565b60200260200101516040517f247e97010000000000000000000000000000000000000000000000000000000081526004016108ce91906001600160a01b0391909116815260200190565b80612c5081614e60565b915050612ba8565b611236612e39565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612c93576109df8361443b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612ccc57600080fd5b505afa925050508015612cfc575060408051601f3d908101601f19168201909252612cf991810190614c75565b60015b612d6e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108ce565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612e035760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108ce565b506109df838383614506565b6000612a9c8383670de0b6b3a7640000614531565b6000612a9c83670de0b6b3a76400008461455f565b6097546001600160a01b03163314611cf55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ce565b6000806000612f2a60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ee957600080fd5b505afa158015612efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f219190614c1f565b87906012612a6d565b9050612f35816141d8565b60ff546040516323b872dd60e01b81526001600160a01b03868116600483015230602483015260448201899052909116906323b872dd90606401602060405180830381600087803b158015612f8957600080fd5b505af1158015612f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc19190614b88565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810189905291169063095ea7b390604401602060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304a9190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018990529116906347e7ef2490604401600060405180830381600087803b15801561309b57600080fd5b505af11580156130af573d6000803e3d6000fd5b50505050600080600190506000806130c98585858c613f57565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561311f57600080fd5b505af1158015613133573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b15801561318657600080fd5b505af115801561319a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131be9190614b88565b50604080518381526020810183905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a190999098509650505050505050565b600080600061326460ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ee957600080fd5b905061326f81612a11565b6001600080806132818585838c613f57565b9150915060006132996132926112a6565b8490612e0f565b6132a39084614c8e565b610100546040516323b872dd60e01b81526001600160a01b038c81166004830152306024830152604482018490529293509116906323b872dd90606401602060405180830381600087803b1580156132fa57600080fd5b505af115801561330e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133329190614b88565b506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b15801561338457600080fd5b505af1158015613398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bc9190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b15801561340e57600080fd5b505af1158015613422573d6000803e3d6000fd5b505060fb5460ff5460405163f3fef3a360e01b81526001600160a01b03928316945063f3fef3a393506134729291909116908f906004016001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561348c57600080fd5b505af11580156134a0573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03909116925063a9059cbb91506134ea908c908f906004016001600160a01b03929092168252602082015260400190565b602060405180830381600087803b15801561350457600080fd5b505af1158015613518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061353c9190614b88565b50604080518481526020810184905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a15090999098509650505050505050565b600080600061362460ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e357600080fd5b505afa1580156135f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061361b9190614c1f565b89906012612a6d565b905061362f816141d8565b6000600181806136418582858d613f57565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561369757600080fd5b505af11580156136ab573d6000803e3d6000fd5b5050505060006040518060c0016040528061010060009054906101000a90046001600160a01b03166001600160a01b0316815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031681526020018481526020018d81526020018c6001600160a01b031681526020018b62ffffff168152509050600060fe60009054906101000a90046001600160a01b03166001600160a01b03166368e32802836040518263ffffffff1660e01b81526004016137c19190600060c0820190506001600160a01b0380845116835280602085015116602084015260408401516040840152606084015160608401528060808501511660808401525062ffffff60a08401511660a083015292915050565b602060405180830381600087803b1580156137db57600080fd5b505af11580156137ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138139190614c75565b90506000816138ab601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561386b57600080fd5b505afa15801561387f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138a39190614c1f565b879190612a6d565b6138b59190614bc7565b905060008113156139525760ff546040516323b872dd60e01b81526001600160a01b038d8116600483015230602483015260448201849052909116906323b872dd90606401602060405180830381600087803b15801561391457600080fd5b505af1158015613928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061394c9190614b88565b50613a18565b6000811215613a185760ff546001600160a01b03166323b872dd308d613977856141b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b1580156139de57600080fd5b505af11580156139f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a169190614b88565b505b60fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018790529116906347e7ef2490604401600060405180830381600087803b158015613a6857600080fd5b505af1158015613a7c573d6000803e3d6000fd5b505060408051888152602081018890529081018490527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9250606001905060405180910390a150929d919c50909a5050505050505050505050565b6000806000613b2d60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e357600080fd5b9050613b3881612a11565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b039182166004820152602481018b905291169063f3fef3a390604401600060405180830381600087803b158015613b8857600080fd5b505af1158015613b9c573d6000803e3d6000fd5b50506040805160c08101825260ff546001600160a01b03908116825261010054811660208301908152828401878152606084018e81528d84166080860190815262ffffff8e811660a0880190815260fe5498517f68e328020000000000000000000000000000000000000000000000000000000081528851881660048201529551871660248701529351604486015291516064850152518416608484015290511660a48201529194506000935091909116906368e328029060c401602060405180830381600087803b158015613c7157600080fd5b505af1158015613c85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ca99190614c75565b60fb54610100546040516311f9fbc960e21b81526001600160a01b0391821660048201526024810184905292935016906347e7ef2490604401600060405180830381600087803b158015613cfc57600080fd5b505af1158015613d10573d6000803e3d6000fd5b50505050600080613d2585600160008d613f57565b90925090506000613d368484614bc7565b90506000811315613e3d57610100546040516323b872dd60e01b81526001600160a01b038b8116600483015230602483015260448201849052909116906323b872dd90606401602060405180830381600087803b158015613d9657600080fd5b505af1158015613daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dce9190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b158015613e2057600080fd5b505af1158015613e34573d6000803e3d6000fd5b50505050613f04565b6000811215613f0457610100546001600160a01b03166323b872dd308b613e63856141b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b158015613eca57600080fd5b505af1158015613ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f029190614b88565b505b60408051848152602081018490529081018290527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9060600160405180910390a150909b909a5098505050505050505050565b6040805161010081018252610101546001600160a01b03908116825285151560208301908152851515838501908152606084018981526000608086018181524260a0880190815289871660c0890190815260e0890184815260fc549a517fb6b1b6c30000000000000000000000000000000000000000000000000000000081528a518a16600482015297511515602489015295511515604488015293516064870152905160848601525160a48501529051841660c4840152905160e48301529384938493909284928392169063b6b1b6c390610104016040805180830381600087803b15801561404657600080fd5b505af115801561405a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061407e9190614e7b565b91509150600061408d8261457e565b90508061010660008282546140a29190614c8e565b9091555050604080518b15158152602081018d90528a1515818301526001600160a01b038a16606082015290517f9a15d84188925e678e5ac0dacda00aa8a73ebe2346741b3b64fc9919f494bbe49181900360800190a15090999098509650505050505050565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61010754610105541115611cf55761010754610105546040517fdc681c5a000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016108ce565b6000808212156141d4576141cf82600019614e9f565b610d30565b5090565b60006141e2612927565b9050600081121580612a2c5750816141f9826141b9565b101561172f576040517f1f04c58a00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016108ce565b600080806000198587098587029250828110838203039150508060001415614275576000841161426a57600080fd5b508290049050612a9c565b80841161428157600080fd5b60008486880980840393811190920391905060006142a186196001614c8e565b86169586900495938490049360008190030460010190506142c28184614e1f565b9093179260006142d3876003614e1f565b60021890506142e28188614e1f565b6142ed906002614b71565b6142f79082614e1f565b90506143038188614e1f565b61430e906002614b71565b6143189082614e1f565b90506143248188614e1f565b61432f906002614b71565b6143399082614e1f565b90506143458188614e1f565b614350906002614b71565b61435a9082614e1f565b90506143668188614e1f565b614371906002614b71565b61437b9082614e1f565b90506143878188614e1f565b614392906002614b71565b61439c9082614e1f565b90506143a88186614e1f565b9998505050505050505050565b600054610100900460ff166144325760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b611cf533614109565b6001600160a01b0381163b6144b85760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108ce565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61450f8361458b565b60008251118061451c5750805b156109df5761452b83836145cb565b50505050565b82820281151584158583048514171661454957600080fd5b6001826001830304018115150290509392505050565b82820281151584158583048514171661457757600080fd5b0492915050565b6000610d306121056112a6565b6145948161443b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61464a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108ce565b600080846001600160a01b0316846040516146659190614f3f565b600060405180830381855af49150503d80600081146146a0576040519150601f19603f3d011682016040523d82523d6000602084013e6146a5565b606091505b50915091506146cd8282604051806060016040528060278152602001614f5c602791396146d6565b95945050505050565b606083156146e5575081612a9c565b8251156146f55782518084602001fd5b8160405162461bcd60e51b81526004016108ce9190614b28565b6001600160a01b038116811461123657600080fd5b6000806040838503121561473757600080fd5b8235915060208301356147498161470f565b809150509250929050565b60006020828403121561476657600080fd5b813563ffffffff81168114612a9c57600080fd5b600080600080600080600060e0888a03121561479557600080fd5b87356147a08161470f565b965060208801356147b08161470f565b955060408801356147c08161470f565b945060608801356147d08161470f565b935060808801356147e08161470f565b925060a08801356147f08161470f565b915060c08801356148008161470f565b8091505092959891949750929550565b60006020828403121561482257600080fd5b8135612a9c8161470f565b8035600081900b811461255b57600080fd5b6000806000806080858703121561485557600080fd5b843593506148656020860161482d565b925060408501356148758161470f565b915060608501356148858161470f565b939692955090935050565b62ffffff8116811461123657600080fd5b60008060008060008060c087890312156148ba57600080fd5b863595506020870135945060408701356148d38161470f565b935060608701356148e381614890565b92506148f16080880161482d565b915060a08701356149018161470f565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561494e5761494e61490f565b604052919050565b6000806040838503121561496957600080fd5b82356149748161470f565b915060208381013567ffffffffffffffff8082111561499257600080fd5b818601915086601f8301126149a657600080fd5b8135818111156149b8576149b861490f565b6149ca84601f19601f84011601614925565b915080825287848285010111156149e057600080fd5b80848401858401376000848284010152508093505050509250929050565b600060808284031215614a1057600080fd5b6040516080810181811067ffffffffffffffff82111715614a3357614a3361490f565b604052823581526020830135614a488161470f565b60208201526040830135614a5b8161470f565b60408201526060830135614a6e8161470f565b60608201529392505050565b600060608284031215614a8c57600080fd5b6040516060810181811067ffffffffffffffff82111715614aaf57614aaf61490f565b604052823581526020830135614ac48161470f565b60208201526040830135614ad78161470f565b60408201529392505050565b600060208284031215614af557600080fd5b5035919050565b60005b83811015614b17578181015183820152602001614aff565b8381111561452b5750506000910152565b6020815260008251806020840152614b47816040850160208701614afc565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b600082821015614b8357614b83614b5b565b500390565b600060208284031215614b9a57600080fd5b81518015158114612a9c57600080fd5b600060208284031215614bbc57600080fd5b8151612a9c8161470f565b600080831283600160ff1b01831281151615614be557614be5614b5b565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018313811615614c1957614c19614b5b565b50500390565b600060208284031215614c3157600080fd5b815160ff81168114612a9c57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215614c6a57600080fd5b8151612a9c81614890565b600060208284031215614c8757600080fd5b5051919050565b60008219821115614ca157614ca1614b5b565b500190565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03841381151615614ce057614ce0614b5b565b82600160ff1b038412811615614cf857614cf8614b5b565b50500190565b600080600060608486031215614d1357600080fd5b8351925060208401519150604084015190509250925092565b600181815b80851115614d67578160001904821115614d4d57614d4d614b5b565b80851615614d5a57918102915b93841c9390800290614d31565b509250929050565b600082614d7e57506001610d30565b81614d8b57506000610d30565b8160018114614da15760028114614dab57614dc7565b6001915050610d30565b60ff841115614dbc57614dbc614b5b565b50506001821b610d30565b5060208310610133831016604e8410600b8410161715614dea575081810a610d30565b614df48383614d2c565b8060001904821115614e0857614e08614b5b565b029392505050565b6000612a9c60ff841683614d6f565b6000816000190483118215151615614e3957614e39614b5b565b500290565b600082614e5b57634e487b7160e01b600052601260045260246000fd5b500490565b6000600019821415614e7457614e74614b5b565b5060010190565b60008060408385031215614e8e57600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615614ee057614ee0614b5b565b600160ff1b6000871286820588128184161615614eff57614eff614b5b565b60008712925087820587128484161615614f1b57614f1b614b5b565b87850587128184161615614f3157614f31614b5b565b505050929093029392505050565b60008251614f51818460208701614afc565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ea96acafbee5527c2ca2d88f4deb494ba9446269fa4db8ccc17c366c1be20ace64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/artifacts/UXDController.json b/src/artifacts/UXDController.json deleted file mode 100644 index b488c91..0000000 --- a/src/artifacts/UXDController.json +++ /dev/null @@ -1,745 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "UXDController", - "sourceName": "contracts/core/UXDController.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "CtrlAddressNotContract", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "collateral", - "type": "address" - } - ], - "name": "CtrlNoDepository", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "CtrlNotApproved", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "name": "CtrlNotQuoteToken", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "CtrlNotWhitelisted", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "CtrlTransferFailed", - "type": "error" - }, - { - "inputs": [], - "name": "CtrlZeroAmount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": 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": "base", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quote", - "type": "uint256" - } - ], - "name": "Minted", - "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": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quoteAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "redeemabelAmount", - "type": "uint256" - } - ], - "name": "QuoteMinted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quoteAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "redeemableAmount", - "type": "uint256" - } - ], - "name": "QuoteRedeemed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "quoteToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isQuote", - "type": "bool" - } - ], - "name": "QuoteTokenRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "base", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "quote", - "type": "uint256" - } - ], - "name": "Redeemed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "by", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRouter", - "type": "address" - } - ], - "name": "RouterUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "by", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "isWhitelisted", - "type": "bool" - } - ], - "name": "WhitelistUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "collateralList", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "collateralTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "collateralAmount", - "type": "uint256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - } - ], - "name": "mintWithEth", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "quoteTokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "quoteAmount", - "type": "uint256" - } - ], - "name": "quoteMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "quoteTokenAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "redeemableAmount", - "type": "uint256" - } - ], - "name": "quoteRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - } - ], - "name": "redeemForEth", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "redeemable", - "outputs": [ - { - "internalType": "contract IRedeemable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "bool", - "name": "isQuote", - "type": "bool" - } - ], - "name": "registerQuoteToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "router", - "outputs": [ - { - "internalType": "contract IDEXRouter", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_redeemable", - "type": "address" - } - ], - "name": "setRedeemable", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "name": "setRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "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": "weth", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "bool", - "name": "isWhitelisted", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isBaseToken", - "type": "bool" - } - ], - "name": "whitelistCollateral", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161302b61004c6000396000818161064d015281816106e301528181610bae01528181610c440152610d3f015261302b6000f3fe6080604052600436106101845760003560e01c80638da5cb5b116100d6578063cffbc2971161007f578063f2fde38b11610059578063f2fde38b14610440578063f887ea4014610460578063ffa1ad741461048057600080fd5b8063cffbc297146103cd578063d4cc8c781461040d578063f1e660b21461042057600080fd5b8063c4d66de8116100b0578063c4d66de81461036d578063ca25aee41461038d578063cc4431e7146103ad57600080fd5b80638da5cb5b146102fa578063a03332d914610318578063c0d786551461034d57600080fd5b8063385e44651161013857806352d1902d1161011257806352d1902d146102a2578063715018a6146102c557806387a5e739146102da57600080fd5b8063385e44651461024f5780633fc8cef31461026f5780634f1ef2861461028f57600080fd5b80632e13168b116101695780632e13168b146101ef5780633024a9121461020f5780633659cfe61461022f57600080fd5b806329175b59146101905780632d7ecd11146101b257600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b506101b06101ab366004612c5d565b6104cc565b005b3480156101be57600080fd5b5060fb546101d2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101fb57600080fd5b506101b061020a366004612c88565b61053b565b34801561021b57600080fd5b506101d261022a366004612cd3565b610618565b34801561023b57600080fd5b506101b061024a366004612c5d565b610642565b34801561025b57600080fd5b506101b061026a366004612cec565b6107e0565b34801561027b57600080fd5b5060ff546101d2906001600160a01b031681565b6101b061029d366004612d2e565b610ba3565b3480156102ae57600080fd5b506102b7610d32565b6040519081526020016101e6565b3480156102d157600080fd5b506101b0610df7565b3480156102e657600080fd5b506101b06102f5366004612df2565b610e0b565b34801561030657600080fd5b5060c9546001600160a01b03166101d2565b34801561032457600080fd5b50610338610333366004612e2b565b610ea6565b604080519283526020830191909152016101e6565b34801561035957600080fd5b506101b0610368366004612c5d565b610f50565b34801561037957600080fd5b506101b0610388366004612c5d565b610fba565b34801561039957600080fd5b506101b06103a8366004612cec565b611145565b3480156103b957600080fd5b506103386103c8366004612e2b565b61159c565b3480156103d957600080fd5b506103fd6103e8366004612c5d565b60fd6020526000908152604090205460ff1681565b60405190151581526020016101e6565b61033861041b366004612c5d565b6118aa565b34801561042c57600080fd5b5061033861043b366004612e62565b611b0a565b34801561044c57600080fd5b506101b061045b366004612c5d565b611c61565b34801561046c57600080fd5b5060fc546101d2906001600160a01b031681565b34801561048c57600080fd5b50604080518082018252600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290516101e69190612eb3565b6104d4611cee565b6001600160a01b0381163b61050c576040516334f0e1ad60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b60fb805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610543611cee565b6001600160a01b0383163b610576576040516334f0e1ad60e11b81526001600160a01b0384166004820152602401610503565b6001600160a01b038316600090815260fd6020908152604080832080548615801560ff19928316179092556101009093529220805484151592169190911790556105c8576105c383611d48565b6105d1565b6105d183611dfd565b60405182151581526001600160a01b0384169033907fd9c6c3eabe38e3b9a606a66358d8f225489216a59eeba66facefb7d9166352669060200160405180910390a3505050565b60fe818154811061062857600080fd5b6000918252602090912001546001600160a01b0316905081565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106e15760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610503565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661073c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107b85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610503565b6107c181611f0d565b604080516000808252602082019092526107dd91839190611f15565b50565b600260655414156108335760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065558061086f576040517f9241029900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152610101602052604090205460ff166108cd576040517f316d291d0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610503565b60fb54604051636eb1769f60e11b815233600482018190523060248301529183916001600160a01b039091169063dd62ed3e9060440160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190612ee6565b10156109905760fb546040516307461df760e31b81526001600160a01b039182166004820152908216602482015260448101839052606401610503565b60fb546040517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820185905290911690639dc29fac90604401600060405180830381600087803b1580156109f757600080fd5b505af1158015610a0b573d6000803e3d6000fd5b505060fc546040517f8277d97e0000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052600094509091169150638277d97e9060440160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190612eff565b6040517f34e0e38b000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301529192506000918316906334e0e38b90604401602060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b509190612ee6565b60408051828152602081018790529192506001600160a01b038516917f21cd5168f04017456107c8cd9c340084b5bf5cf323637dbbebb7d4e84dbc8c02910160405180910390a250506001606555505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610c425760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610503565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c9d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610d195760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610503565b610d2282611f0d565b610d2e82826001611f15565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd25760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610503565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610dff611cee565b610e0960006120c9565b565b610e13611cee565b6001600160a01b0382163b610e46576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610503565b6001600160a01b03821660008181526101016020908152604091829020805460ff191685151590811790915591519182527fc8430dd019f6519ecf8340f9053d5554303919b4816864ad61d2ddde22b6cda2910160405180910390a25050565b60008060026065541415610efc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556040805160a0810182526001600160a01b0380881682526020820187905285169181019190915233606082018190526080820152610f3e81612128565b60016065559097909650945050505050565b610f58611cee565b6001600160a01b0381163b610f8b576040516334f0e1ad60e11b81526001600160a01b0382166004820152602401610503565b60fc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600054610100900460ff1615808015610fda5750600054600160ff909116105b80610ff45750303b158015610ff4575060005460ff166001145b6110665760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610503565b6000805460ff191660011790558015611089576000805461ff0019166101001790555b611091612553565b6110996125c6565b6110a1612639565b6001600160a01b0382163b6110d4576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610503565b60ff805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610d2e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600260655414156111985760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b6002606555806111d4576040517f9241029900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152610101602052604090205460ff16611232576040517f316d291d0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610503565b604051636eb1769f60e11b81523360048201819052306024830152839183906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b15801561127d57600080fd5b505afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b59190612ee6565b10156112ee576040516307461df760e31b81526001600160a01b0380861660048301528216602482015260448101849052606401610503565b60fc546040517ff51a3fed0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201869052600092169063f51a3fed9060440160206040518083038186803b15801561135457600080fd5b505afa158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138c9190612eff565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152808316602483015260448201879052919250908416906323b872dd90606401602060405180830381600087803b1580156113fb57600080fd5b505af115801561140f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114339190612f1c565b506040517fe4bdc4d2000000000000000000000000000000000000000000000000000000008152600481018590526000906001600160a01b0383169063e4bdc4d290602401602060405180830381600087803b15801561149257600080fd5b505af11580156114a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ca9190612ee6565b60fb546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490529293509116906340c10f1990604401600060405180830381600087803b15801561153357600080fd5b505af1158015611547573d6000803e3d6000fd5b505060408051888152602081018590526001600160a01b03871693507fe97109b4f33fd09a5a0ad4cf32b4accec44c4ad7a3ebe4aef309c24a90a5a69992500160405180910390a25050600160655550505050565b600080600260655414156115f25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556001600160a01b038516600090815260fd602052604090205460ff16611654576040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602401610503565b604051636eb1769f60e11b81523360048201819052306024830152869186906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b15801561169f57600080fd5b505afa1580156116b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d79190612ee6565b1015611710576040516307461df760e31b81526001600160a01b0380891660048301528216602482015260448101879052606401610503565b60fc546040517f3455d7c40000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152602482018990526000921690633455d7c49060440160206040518083038186803b15801561177657600080fd5b505afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae9190612eff565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528083166024830152604482018a9052919250908416906323b872dd90606401602060405180830381600087803b15801561181d57600080fd5b505af1158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118559190612f1c565b506040805160a0810182526001600160a01b03808b168252602082018a9052888116928201929092523360608201529082166080820152611895816126a4565b6001606555909a909950975050505050505050565b600080600260655414156119005760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b600260655560ff5460fc546040517f3455d7c40000000000000000000000000000000000000000000000000000000081526001600160a01b03928316600482018190523460248301819052939092600092911690633455d7c49060440160206040518083038186803b15801561197557600080fd5b505afa158015611989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ad9190612eff565b905060ff60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b1580156119ff57600080fd5b505af1158015611a13573d6000803e3d6000fd5b505060ff546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201899052909116935063a9059cbb92506044019050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab89190612f1c565b506040805160a0810182526001600160a01b038085168252346020830152888116928201929092523360608201529082166080820152611af7816126a4565b6001606555909890975095505050505050565b60008060026065541415611b605760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556040805160a08101825260ff546001600160a01b03908116825260208201879052851691810191909152336060820152306080820152600080611ba783612128565b60ff546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018490529294509092506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f19350505050158015611c4f573d6000803e3d6000fd5b50600160655590969095509350505050565b611c69611cee565b6001600160a01b038116611ce55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610503565b6107dd816120c9565b60c9546001600160a01b03163314610e095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610503565b60005b60fe54811015611d9d5760fe8181548110611d6857611d68612f39565b6000918252602090912001546001600160a01b0383811691161415611d8b575050565b80611d9581612f4f565b915050611d4b565b5060fe80546001810182556000919091527f54075df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60001960005b60fe54811015611e595760fe8181548110611e2057611e20612f39565b6000918252602090912001546001600160a01b0384811691161415611e4757809150611e59565b80611e5181612f4f565b915050611e03565b506000198114610d2e5760fe8054611e6f612f39565b60009182526020909120015460fe80546001600160a01b039092169183908110611e9b57611e9b612f39565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060fe805480611eda57611eda612f78565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b6107dd611cee565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f4d57611f48836128e1565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8657600080fd5b505afa925050508015611fb6575060408051601f3d908101601f19168201909252611fb391810190612ee6565b60015b6120285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610503565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146120bd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610503565b50611f488383836129ac565b60c980546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0316600090815260fd6020526040812054819060ff1661218b5782516040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610503565b604080516080808201835260208681018051845287516001600160a01b039081169285019290925287850151821684860152918701518116606084015260fc548751925194517fe314e9fd000000000000000000000000000000000000000000000000000000008152928216600484015260248301949094529192600092169063e314e9fd9060440160206040518083038186803b15801561222c57600080fd5b505afa158015612240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122649190612eff565b604080517f65c4f1260000000000000000000000000000000000000000000000000000000081528451600482015260208501516001600160a01b039081166024830152918501518216604482015260608501518216606482015291925060009182918416906365c4f126906084016040805180830381600087803b1580156122eb57600080fd5b505af11580156122ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123239190612f8e565b60fb5460608a0151604051636eb1769f60e11b81526001600160a01b039182166004820152306024820152939550919350839291169063dd62ed3e9060440160206040518083038186803b15801561237a57600080fd5b505afa15801561238e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b29190612ee6565b10156123f35760fb5460608801516040516307461df760e31b81526001600160a01b0392831660048201529116602482015260448101829052606401610503565b60fb5460608801516040517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260248101849052911690639dc29fac90604401600060405180830381600087803b15801561245e57600080fd5b505af1158015612472573d6000803e3d6000fd5b5050505060808701516040517f0af504cc000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b03918216602482015290841690630af504cc90604401600060405180830381600087803b1580156124df57600080fd5b505af11580156124f3573d6000803e3d6000fd5b5050505086606001516001600160a01b03167ff3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec262838360405161253f929190918252602082015260400190565b60405180910390a290969095509350505050565b600054610100900460ff166125be5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e096129d7565b600054610100900460ff166126315760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e09612a4b565b600054610100900460ff16610e095760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b6040805160608101825260208381015180835284516001600160a01b039081169284019290925284840151821683850152608085015193517fbad4a01f0000000000000000000000000000000000000000000000000000000081526004810191909152600093849392169063bad4a01f90602401600060405180830381600087803b15801561273257600080fd5b505af1158015612746573d6000803e3d6000fd5b505050506080840151604080517f79604f0c0000000000000000000000000000000000000000000000000000000081528351600482015260208401516001600160a01b0390811660248301529184015182166044820152600092839216906379604f0c906064016040805180830381600087803b1580156127c657600080fd5b505af11580156127da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fe9190612f8e565b60fb5460608901516040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810184905293955091935016906340c10f1990604401600060405180830381600087803b15801561286e57600080fd5b505af1158015612882573d6000803e3d6000fd5b5050505085606001516001600160a01b03167f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff83836040516128ce929190918252602082015260400190565b60405180910390a2909590945092505050565b6001600160a01b0381163b61295e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610503565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6129b583612abd565b6000825111806129c25750805b15611f48576129d18383612afd565b50505050565b600054610100900460ff16612a425760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e09336120c9565b600054610100900460ff16612ab65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b6001606555565b612ac6816128e1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612b7c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610503565b600080846001600160a01b031684604051612b979190612fb2565b600060405180830381855af49150503d8060008114612bd2576040519150601f19603f3d011682016040523d82523d6000602084013e612bd7565b606091505b5091509150612bff8282604051806060016040528060278152602001612fcf60279139612c08565b95945050505050565b60608315612c17575081612c41565b825115612c275782518084602001fd5b8160405162461bcd60e51b81526004016105039190612eb3565b9392505050565b6001600160a01b03811681146107dd57600080fd5b600060208284031215612c6f57600080fd5b8135612c4181612c48565b80151581146107dd57600080fd5b600080600060608486031215612c9d57600080fd5b8335612ca881612c48565b92506020840135612cb881612c7a565b91506040840135612cc881612c7a565b809150509250925092565b600060208284031215612ce557600080fd5b5035919050565b60008060408385031215612cff57600080fd5b8235612d0a81612c48565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612d4157600080fd5b8235612d4c81612c48565b9150602083013567ffffffffffffffff80821115612d6957600080fd5b818501915085601f830112612d7d57600080fd5b813581811115612d8f57612d8f612d18565b604051601f8201601f19908116603f01168101908382118183101715612db757612db7612d18565b81604052828152886020848701011115612dd057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612e0557600080fd5b8235612e1081612c48565b91506020830135612e2081612c7a565b809150509250929050565b600080600060608486031215612e4057600080fd5b8335612e4b81612c48565b9250602084013591506040840135612cc881612c48565b60008060408385031215612e7557600080fd5b823591506020830135612e2081612c48565b60005b83811015612ea2578181015183820152602001612e8a565b838111156129d15750506000910152565b6020815260008251806020840152612ed2816040850160208701612e87565b601f01601f19169190910160400192915050565b600060208284031215612ef857600080fd5b5051919050565b600060208284031215612f1157600080fd5b8151612c4181612c48565b600060208284031215612f2e57600080fd5b8151612c4181612c7a565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612f7157634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603160045260246000fd5b60008060408385031215612fa157600080fd5b505080516020909101519092909150565b60008251612fc4818460208701612e87565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220005604209764c267e4804fdb90a5af083707eedc3f77cc012e4d071d365bf7a464736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106101845760003560e01c80638da5cb5b116100d6578063cffbc2971161007f578063f2fde38b11610059578063f2fde38b14610440578063f887ea4014610460578063ffa1ad741461048057600080fd5b8063cffbc297146103cd578063d4cc8c781461040d578063f1e660b21461042057600080fd5b8063c4d66de8116100b0578063c4d66de81461036d578063ca25aee41461038d578063cc4431e7146103ad57600080fd5b80638da5cb5b146102fa578063a03332d914610318578063c0d786551461034d57600080fd5b8063385e44651161013857806352d1902d1161011257806352d1902d146102a2578063715018a6146102c557806387a5e739146102da57600080fd5b8063385e44651461024f5780633fc8cef31461026f5780634f1ef2861461028f57600080fd5b80632e13168b116101695780632e13168b146101ef5780633024a9121461020f5780633659cfe61461022f57600080fd5b806329175b59146101905780632d7ecd11146101b257600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b506101b06101ab366004612c5d565b6104cc565b005b3480156101be57600080fd5b5060fb546101d2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101fb57600080fd5b506101b061020a366004612c88565b61053b565b34801561021b57600080fd5b506101d261022a366004612cd3565b610618565b34801561023b57600080fd5b506101b061024a366004612c5d565b610642565b34801561025b57600080fd5b506101b061026a366004612cec565b6107e0565b34801561027b57600080fd5b5060ff546101d2906001600160a01b031681565b6101b061029d366004612d2e565b610ba3565b3480156102ae57600080fd5b506102b7610d32565b6040519081526020016101e6565b3480156102d157600080fd5b506101b0610df7565b3480156102e657600080fd5b506101b06102f5366004612df2565b610e0b565b34801561030657600080fd5b5060c9546001600160a01b03166101d2565b34801561032457600080fd5b50610338610333366004612e2b565b610ea6565b604080519283526020830191909152016101e6565b34801561035957600080fd5b506101b0610368366004612c5d565b610f50565b34801561037957600080fd5b506101b0610388366004612c5d565b610fba565b34801561039957600080fd5b506101b06103a8366004612cec565b611145565b3480156103b957600080fd5b506103386103c8366004612e2b565b61159c565b3480156103d957600080fd5b506103fd6103e8366004612c5d565b60fd6020526000908152604090205460ff1681565b60405190151581526020016101e6565b61033861041b366004612c5d565b6118aa565b34801561042c57600080fd5b5061033861043b366004612e62565b611b0a565b34801561044c57600080fd5b506101b061045b366004612c5d565b611c61565b34801561046c57600080fd5b5060fc546101d2906001600160a01b031681565b34801561048c57600080fd5b50604080518082018252600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290516101e69190612eb3565b6104d4611cee565b6001600160a01b0381163b61050c576040516334f0e1ad60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b60fb805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610543611cee565b6001600160a01b0383163b610576576040516334f0e1ad60e11b81526001600160a01b0384166004820152602401610503565b6001600160a01b038316600090815260fd6020908152604080832080548615801560ff19928316179092556101009093529220805484151592169190911790556105c8576105c383611d48565b6105d1565b6105d183611dfd565b60405182151581526001600160a01b0384169033907fd9c6c3eabe38e3b9a606a66358d8f225489216a59eeba66facefb7d9166352669060200160405180910390a3505050565b60fe818154811061062857600080fd5b6000918252602090912001546001600160a01b0316905081565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106e15760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610503565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661073c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107b85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610503565b6107c181611f0d565b604080516000808252602082019092526107dd91839190611f15565b50565b600260655414156108335760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065558061086f576040517f9241029900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152610101602052604090205460ff166108cd576040517f316d291d0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610503565b60fb54604051636eb1769f60e11b815233600482018190523060248301529183916001600160a01b039091169063dd62ed3e9060440160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190612ee6565b10156109905760fb546040516307461df760e31b81526001600160a01b039182166004820152908216602482015260448101839052606401610503565b60fb546040517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820185905290911690639dc29fac90604401600060405180830381600087803b1580156109f757600080fd5b505af1158015610a0b573d6000803e3d6000fd5b505060fc546040517f8277d97e0000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052600094509091169150638277d97e9060440160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190612eff565b6040517f34e0e38b000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301529192506000918316906334e0e38b90604401602060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b509190612ee6565b60408051828152602081018790529192506001600160a01b038516917f21cd5168f04017456107c8cd9c340084b5bf5cf323637dbbebb7d4e84dbc8c02910160405180910390a250506001606555505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610c425760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610503565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c9d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610d195760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610503565b610d2282611f0d565b610d2e82826001611f15565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd25760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610503565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610dff611cee565b610e0960006120c9565b565b610e13611cee565b6001600160a01b0382163b610e46576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610503565b6001600160a01b03821660008181526101016020908152604091829020805460ff191685151590811790915591519182527fc8430dd019f6519ecf8340f9053d5554303919b4816864ad61d2ddde22b6cda2910160405180910390a25050565b60008060026065541415610efc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556040805160a0810182526001600160a01b0380881682526020820187905285169181019190915233606082018190526080820152610f3e81612128565b60016065559097909650945050505050565b610f58611cee565b6001600160a01b0381163b610f8b576040516334f0e1ad60e11b81526001600160a01b0382166004820152602401610503565b60fc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600054610100900460ff1615808015610fda5750600054600160ff909116105b80610ff45750303b158015610ff4575060005460ff166001145b6110665760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610503565b6000805460ff191660011790558015611089576000805461ff0019166101001790555b611091612553565b6110996125c6565b6110a1612639565b6001600160a01b0382163b6110d4576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610503565b60ff805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610d2e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600260655414156111985760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b6002606555806111d4576040517f9241029900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152610101602052604090205460ff16611232576040517f316d291d0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610503565b604051636eb1769f60e11b81523360048201819052306024830152839183906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b15801561127d57600080fd5b505afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b59190612ee6565b10156112ee576040516307461df760e31b81526001600160a01b0380861660048301528216602482015260448101849052606401610503565b60fc546040517ff51a3fed0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201869052600092169063f51a3fed9060440160206040518083038186803b15801561135457600080fd5b505afa158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138c9190612eff565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152808316602483015260448201879052919250908416906323b872dd90606401602060405180830381600087803b1580156113fb57600080fd5b505af115801561140f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114339190612f1c565b506040517fe4bdc4d2000000000000000000000000000000000000000000000000000000008152600481018590526000906001600160a01b0383169063e4bdc4d290602401602060405180830381600087803b15801561149257600080fd5b505af11580156114a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ca9190612ee6565b60fb546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490529293509116906340c10f1990604401600060405180830381600087803b15801561153357600080fd5b505af1158015611547573d6000803e3d6000fd5b505060408051888152602081018590526001600160a01b03871693507fe97109b4f33fd09a5a0ad4cf32b4accec44c4ad7a3ebe4aef309c24a90a5a69992500160405180910390a25050600160655550505050565b600080600260655414156115f25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556001600160a01b038516600090815260fd602052604090205460ff16611654576040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602401610503565b604051636eb1769f60e11b81523360048201819052306024830152869186906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b15801561169f57600080fd5b505afa1580156116b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d79190612ee6565b1015611710576040516307461df760e31b81526001600160a01b0380891660048301528216602482015260448101879052606401610503565b60fc546040517f3455d7c40000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152602482018990526000921690633455d7c49060440160206040518083038186803b15801561177657600080fd5b505afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae9190612eff565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528083166024830152604482018a9052919250908416906323b872dd90606401602060405180830381600087803b15801561181d57600080fd5b505af1158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118559190612f1c565b506040805160a0810182526001600160a01b03808b168252602082018a9052888116928201929092523360608201529082166080820152611895816126a4565b6001606555909a909950975050505050505050565b600080600260655414156119005760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b600260655560ff5460fc546040517f3455d7c40000000000000000000000000000000000000000000000000000000081526001600160a01b03928316600482018190523460248301819052939092600092911690633455d7c49060440160206040518083038186803b15801561197557600080fd5b505afa158015611989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ad9190612eff565b905060ff60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b1580156119ff57600080fd5b505af1158015611a13573d6000803e3d6000fd5b505060ff546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201899052909116935063a9059cbb92506044019050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab89190612f1c565b506040805160a0810182526001600160a01b038085168252346020830152888116928201929092523360608201529082166080820152611af7816126a4565b6001606555909890975095505050505050565b60008060026065541415611b605760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556040805160a08101825260ff546001600160a01b03908116825260208201879052851691810191909152336060820152306080820152600080611ba783612128565b60ff546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018490529294509092506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f19350505050158015611c4f573d6000803e3d6000fd5b50600160655590969095509350505050565b611c69611cee565b6001600160a01b038116611ce55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610503565b6107dd816120c9565b60c9546001600160a01b03163314610e095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610503565b60005b60fe54811015611d9d5760fe8181548110611d6857611d68612f39565b6000918252602090912001546001600160a01b0383811691161415611d8b575050565b80611d9581612f4f565b915050611d4b565b5060fe80546001810182556000919091527f54075df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60001960005b60fe54811015611e595760fe8181548110611e2057611e20612f39565b6000918252602090912001546001600160a01b0384811691161415611e4757809150611e59565b80611e5181612f4f565b915050611e03565b506000198114610d2e5760fe8054611e6f612f39565b60009182526020909120015460fe80546001600160a01b039092169183908110611e9b57611e9b612f39565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060fe805480611eda57611eda612f78565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b6107dd611cee565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f4d57611f48836128e1565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8657600080fd5b505afa925050508015611fb6575060408051601f3d908101601f19168201909252611fb391810190612ee6565b60015b6120285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610503565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146120bd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610503565b50611f488383836129ac565b60c980546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0316600090815260fd6020526040812054819060ff1661218b5782516040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610503565b604080516080808201835260208681018051845287516001600160a01b039081169285019290925287850151821684860152918701518116606084015260fc548751925194517fe314e9fd000000000000000000000000000000000000000000000000000000008152928216600484015260248301949094529192600092169063e314e9fd9060440160206040518083038186803b15801561222c57600080fd5b505afa158015612240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122649190612eff565b604080517f65c4f1260000000000000000000000000000000000000000000000000000000081528451600482015260208501516001600160a01b039081166024830152918501518216604482015260608501518216606482015291925060009182918416906365c4f126906084016040805180830381600087803b1580156122eb57600080fd5b505af11580156122ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123239190612f8e565b60fb5460608a0151604051636eb1769f60e11b81526001600160a01b039182166004820152306024820152939550919350839291169063dd62ed3e9060440160206040518083038186803b15801561237a57600080fd5b505afa15801561238e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b29190612ee6565b10156123f35760fb5460608801516040516307461df760e31b81526001600160a01b0392831660048201529116602482015260448101829052606401610503565b60fb5460608801516040517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260248101849052911690639dc29fac90604401600060405180830381600087803b15801561245e57600080fd5b505af1158015612472573d6000803e3d6000fd5b5050505060808701516040517f0af504cc000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b03918216602482015290841690630af504cc90604401600060405180830381600087803b1580156124df57600080fd5b505af11580156124f3573d6000803e3d6000fd5b5050505086606001516001600160a01b03167ff3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec262838360405161253f929190918252602082015260400190565b60405180910390a290969095509350505050565b600054610100900460ff166125be5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e096129d7565b600054610100900460ff166126315760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e09612a4b565b600054610100900460ff16610e095760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b6040805160608101825260208381015180835284516001600160a01b039081169284019290925284840151821683850152608085015193517fbad4a01f0000000000000000000000000000000000000000000000000000000081526004810191909152600093849392169063bad4a01f90602401600060405180830381600087803b15801561273257600080fd5b505af1158015612746573d6000803e3d6000fd5b505050506080840151604080517f79604f0c0000000000000000000000000000000000000000000000000000000081528351600482015260208401516001600160a01b0390811660248301529184015182166044820152600092839216906379604f0c906064016040805180830381600087803b1580156127c657600080fd5b505af11580156127da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fe9190612f8e565b60fb5460608901516040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810184905293955091935016906340c10f1990604401600060405180830381600087803b15801561286e57600080fd5b505af1158015612882573d6000803e3d6000fd5b5050505085606001516001600160a01b03167f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff83836040516128ce929190918252602082015260400190565b60405180910390a2909590945092505050565b6001600160a01b0381163b61295e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610503565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6129b583612abd565b6000825111806129c25750805b15611f48576129d18383612afd565b50505050565b600054610100900460ff16612a425760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e09336120c9565b600054610100900460ff16612ab65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b6001606555565b612ac6816128e1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612b7c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610503565b600080846001600160a01b031684604051612b979190612fb2565b600060405180830381855af49150503d8060008114612bd2576040519150601f19603f3d011682016040523d82523d6000602084013e612bd7565b606091505b5091509150612bff8282604051806060016040528060278152602001612fcf60279139612c08565b95945050505050565b60608315612c17575081612c41565b825115612c275782518084602001fd5b8160405162461bcd60e51b81526004016105039190612eb3565b9392505050565b6001600160a01b03811681146107dd57600080fd5b600060208284031215612c6f57600080fd5b8135612c4181612c48565b80151581146107dd57600080fd5b600080600060608486031215612c9d57600080fd5b8335612ca881612c48565b92506020840135612cb881612c7a565b91506040840135612cc881612c7a565b809150509250925092565b600060208284031215612ce557600080fd5b5035919050565b60008060408385031215612cff57600080fd5b8235612d0a81612c48565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612d4157600080fd5b8235612d4c81612c48565b9150602083013567ffffffffffffffff80821115612d6957600080fd5b818501915085601f830112612d7d57600080fd5b813581811115612d8f57612d8f612d18565b604051601f8201601f19908116603f01168101908382118183101715612db757612db7612d18565b81604052828152886020848701011115612dd057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612e0557600080fd5b8235612e1081612c48565b91506020830135612e2081612c7a565b809150509250929050565b600080600060608486031215612e4057600080fd5b8335612e4b81612c48565b9250602084013591506040840135612cc881612c48565b60008060408385031215612e7557600080fd5b823591506020830135612e2081612c48565b60005b83811015612ea2578181015183820152602001612e8a565b838111156129d15750506000910152565b6020815260008251806020840152612ed2816040850160208701612e87565b601f01601f19169190910160400192915050565b600060208284031215612ef857600080fd5b5051919050565b600060208284031215612f1157600080fd5b8151612c4181612c48565b600060208284031215612f2e57600080fd5b8151612c4181612c7a565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612f7157634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603160045260246000fd5b60008060408385031215612fa157600080fd5b505080516020909101519092909150565b60008251612fc4818460208701612e87565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220005604209764c267e4804fdb90a5af083707eedc3f77cc012e4d071d365bf7a464736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/src/artifacts/types/factories/PerpDepository__factory.ts b/src/artifacts/types/factories/PerpDepository__factory.ts deleted file mode 100644 index 0c52a3c..0000000 --- a/src/artifacts/types/factories/PerpDepository__factory.ts +++ /dev/null @@ -1,1202 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../common"; -import type { - PerpDepository, - PerpDepositoryInterface, -} from "../PerpDepository"; - -const _abi = [ - { - inputs: [ - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - name: "AddressNotContract", - type: "error", - }, - { - inputs: [], - name: "ErrZeroAddress", - type: "error", - }, - { - inputs: [ - { - internalType: "int256", - name: "allowance", - type: "int256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "InsufficientPnl", - type: "error", - }, - { - inputs: [ - { - internalType: "int256", - name: "balance", - type: "int256", - }, - ], - name: "InvalidQuoteTokenBalance", - type: "error", - }, - { - inputs: [ - { - internalType: "int8", - name: "polarity", - type: "int8", - }, - ], - name: "InvalidRebalance", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "allowance", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "NotApproved", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "caller", - type: "address", - }, - ], - name: "NotController", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "requestedAmount", - type: "uint256", - }, - { - internalType: "int256", - name: "unrealizedPnL", - type: "int256", - }, - { - internalType: "int8", - name: "polarity", - type: "int8", - }, - ], - name: "RebalanceUnavailable", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "softcap", - type: "uint256", - }, - { - internalType: "uint256", - name: "newBasePosition", - type: "uint256", - }, - ], - name: "RedeemableSoftCapHit", - type: "error", - }, - { - inputs: [], - name: "ZeroAmount", - type: "error", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "previousAdmin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "newAdmin", - type: "address", - }, - ], - name: "AdminChanged", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "beacon", - type: "address", - }, - ], - name: "BeaconUpgraded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "caller", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "InsuranceDeposited", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "caller", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "InsuranceWithdrawn", - 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: "bool", - name: "isShort", - type: "bool", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - indexed: false, - internalType: "bool", - name: "amountIsInput", - type: "bool", - }, - { - indexed: false, - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - ], - name: "PositionOpened", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "baseAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "quoteAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "int256", - name: "shortfall", - type: "int256", - }, - ], - name: "Rebalanced", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "caller", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "newSoftCap", - type: "uint256", - }, - ], - name: "RedeemableSoftCapUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "implementation", - type: "address", - }, - ], - name: "Upgraded", - type: "event", - }, - { - inputs: [], - name: "HUNDRED_PERCENT", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "VERSION", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "pure", - type: "function", - }, - { - inputs: [], - name: "baseToken", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "clearingHouse", - outputs: [ - { - internalType: "contract IClearingHouse", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "collateralDeposited", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "controller", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "depositCollateral", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "from", - type: "address", - }, - ], - name: "depositInsurance", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "getAccountValue", - outputs: [ - { - internalType: "int256", - name: "", - type: "int256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getCurrentState", - outputs: [ - { - components: [ - { - internalType: "uint256", - name: "collateralDeposited", - type: "uint256", - }, - { - internalType: "uint256", - name: "insuranceDeposited", - type: "uint256", - }, - { - internalType: "uint256", - name: "redeemableUnderManagement", - type: "uint256", - }, - { - internalType: "uint256", - name: "totalFeesPaid", - type: "uint256", - }, - { - internalType: "uint256", - name: "redeemableSoftCap", - type: "uint256", - }, - ], - internalType: "struct DepositoryState", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "getDebtValue", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getExchangeFee", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getExchangeFeeWad", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getFreeCollateral", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "twapInterval", - type: "uint32", - }, - ], - name: "getMarkPriceTwap", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getPositionValue", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getUnrealizedPnl", - outputs: [ - { - internalType: "int256", - name: "", - type: "int256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_vault", - type: "address", - }, - { - internalType: "address", - name: "_clearingHouse", - type: "address", - }, - { - internalType: "address", - name: "_marketRegistry", - type: "address", - }, - { - internalType: "address", - name: "_futuresMarket", - type: "address", - }, - { - internalType: "address", - name: "_baseToken", - type: "address", - }, - { - internalType: "address", - name: "_quoteToken", - type: "address", - }, - { - internalType: "address", - name: "_controller", - type: "address", - }, - ], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "insuranceDeposited", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "market", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "marketRegistry", - outputs: [ - { - internalType: "contract IMarketRegistry", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "amountToRedeem", - type: "uint256", - }, - { - internalType: "address", - name: "baseToken", - type: "address", - }, - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - { - internalType: "address", - name: "user", - type: "address", - }, - ], - internalType: "struct LongPositionParams", - name: "params", - type: "tuple", - }, - ], - name: "openLong", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "baseToken", - type: "address", - }, - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - ], - internalType: "struct ShortPositionParams", - name: "params", - type: "tuple", - }, - ], - name: "openShort", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "owner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "quoteAmount", - type: "uint256", - }, - ], - name: "processQuoteMint", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "redeemableAmount", - type: "uint256", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "processQuoteRedeem", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "proxiableUUID", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "quoteMinted", - outputs: [ - { - internalType: "int256", - name: "", - type: "int256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "quoteToken", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "uint256", - name: "amountOutMinimum", - type: "uint256", - }, - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - { - internalType: "uint24", - name: "swapPoolFee", - type: "uint24", - }, - { - internalType: "int8", - name: "polarity", - type: "int8", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "rebalance", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "int8", - name: "polarity", - type: "int8", - }, - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "rebalanceLite", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "redeemableSoftCap", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "redeemableUnderManagement", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "renounceOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_controller", - type: "address", - }, - ], - name: "setController", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "softCap", - type: "uint256", - }, - ], - name: "setRedeemableSoftCap", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_swapper", - type: "address", - }, - ], - name: "setSpotSwapper", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "spotSwapper", - outputs: [ - { - internalType: "contract ISwapper", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "totalFeesPaid", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "transferOwnership", - 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: "vault", - outputs: [ - { - internalType: "contract IVault", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "withdrawCollateral", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "withdrawInsurance", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -]; - -const _bytecode = - "0x60a06040523060805234801561001457600080fd5b50608051614fb861004c600039600081816110a60152818161113c015281816115af015281816116450152611a810152614fb86000f3fe6080604052600436106102f25760003560e01c80636f1874171161018f578063bedfc05d116100e1578063ecb96fe61161008a578063f77c479111610064578063f77c479114610817578063fbfa77cf14610838578063ffa1ad741461085857600080fd5b8063ecb96fe6146107c2578063f084c24b146107e2578063f2fde38b146107f757600080fd5b8063e4bdc4d2116100bb578063e4bdc4d21461076b578063e9fd58621461078b578063ebf5a908146107a257600080fd5b8063bedfc05d14610715578063c55dae631461072a578063de2b1ff21461074b57600080fd5b80638da5cb5b11610143578063bad4a01f1161011d578063bad4a01f146106c7578063bdf7f54e146106e7578063be3519a2146106fe57600080fd5b80638da5cb5b1461067457806392eefe9b14610692578063b44b3a8f146106b257600080fd5b806379604f0c1161017457806379604f0c1461061357806380f556051461063357806389b211af1461065457600080fd5b80636f187417146105e9578063715018a6146105fe57600080fd5b806339af3a81116102485780634f3de3a9116101fc5780636311d06a116101d65780636311d06a1461059b57806365c4f126146105b25780636ed93dd0146105d257600080fd5b80634f3de3a91461054657806352d1902d146105665780635ae809511461057b57600080fd5b8063487b00c21161022d578063487b00c2146104de5780634a2accc2146105135780634f1ef2861461053357600080fd5b806339af3a81146104a75780633c94de54146104c757600080fd5b806323ae7152116102aa5780633659cfe6116102845780633659cfe61461041b578063378aa7011461043b57806338086bd31461049257600080fd5b806323ae7152146103c457806334e0e38b146103db57806335876476146103fb57600080fd5b80630f324233116102db5780630f32423314610356578063190e03ec14610384578063217a4b70146103a457600080fd5b80630af504cc146102f75780630af9680014610319575b600080fd5b34801561030357600080fd5b50610317610312366004614724565b6108a4565b005b34801561032557600080fd5b5060fc54610339906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561036257600080fd5b50610376610371366004614754565b6109e4565b60405190815260200161034d565b34801561039057600080fd5b5060fe54610339906001600160a01b031681565b3480156103b057600080fd5b5060ff54610339906001600160a01b031681565b3480156103d057600080fd5b506103766101045481565b3480156103e757600080fd5b506103766103f6366004614724565b610b39565b34801561040757600080fd5b5061031761041636600461477a565b610d36565b34801561042757600080fd5b50610317610436366004614810565b61109b565b34801561044757600080fd5b50610450611239565b60405161034d9190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b34801561049e57600080fd5b506103766112a6565b3480156104b357600080fd5b506103176104c2366004614810565b61136f565b3480156104d357600080fd5b506103766101075481565b3480156104ea57600080fd5b506104fe6104f936600461483f565b6113e6565b6040805192835260208301919091520161034d565b34801561051f57600080fd5b506104fe61052e3660046148a1565b6114c2565b610317610541366004614956565b6115a4565b34801561055257600080fd5b50610317610561366004614724565b611733565b34801561057257600080fd5b50610376611a74565b34801561058757600080fd5b50610376610596366004614810565b611b39565b3480156105a757600080fd5b506103766101035481565b3480156105be57600080fd5b506104fe6105cd3660046149fe565b611bd0565b3480156105de57600080fd5b50610376620f424081565b3480156105f557600080fd5b50610376611c49565b34801561060a57600080fd5b50610317611ce3565b34801561061f57600080fd5b506104fe61062e366004614a7a565b611cf7565b34801561063f57600080fd5b5061010154610339906001600160a01b031681565b34801561066057600080fd5b5061031761066f366004614724565b611d7e565b34801561068057600080fd5b506097546001600160a01b0316610339565b34801561069e57600080fd5b506103176106ad366004614810565b611f4c565b3480156106be57600080fd5b50610376611fc4565b3480156106d357600080fd5b506103176106e2366004614ae3565b612113565b3480156106f357600080fd5b506103766101085481565b34801561070a57600080fd5b506103766101055481565b34801561072157600080fd5b5061037661224f565b34801561073657600080fd5b5061010054610339906001600160a01b031681565b34801561075757600080fd5b50610317610766366004614ae3565b6122f7565b34801561077757600080fd5b50610376610786366004614ae3565b61235b565b34801561079757600080fd5b506103766101065481565b3480156107ae57600080fd5b506103766107bd366004614810565b612560565b3480156107ce57600080fd5b5060fd54610339906001600160a01b031681565b3480156107ee57600080fd5b50610376612927565b34801561080357600080fd5b50610317610812366004614810565b61293f565b34801561082357600080fd5b5061010254610339906001600160a01b031681565b34801561084457600080fd5b5060fb54610339906001600160a01b031681565b34801561086457600080fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161034d9190614b28565b610102546001600160a01b031633146108d757604051633338cdbd60e11b81523360048201526024015b60405180910390fd5b8161010360008282546108ea9190614b71565b909155505060fb546101005460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b15801561094057600080fd5b505af1158015610954573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b1580156109a757600080fd5b505af11580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190614b88565b505050565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190614baa565b610101546040517f99e4a7710000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff86166024820152919250600091610b3191610b2c91908516906399e4a7719060440160206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e9190614baa565b6001600160a01b03166129cc565b6129ef565b949350505050565b610102546000906001600160a01b03163314610b6a57604051633338cdbd60e11b81523360048201526024016108ce565b610b7383612a11565b826101086000828254610b869190614bc7565b92505081905550826101056000828254610ba09190614b71565b925050819055506000610c3c601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfc57600080fd5b505afa158015610c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c349190614c1f565b869190612a6d565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101849052929350169063f3fef3a390604401600060405180830381600087803b158015610c8e57600080fd5b505af1158015610ca2573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03878116600483015260248201869052909116925063a9059cbb9150604401602060405180830381600087803b158015610cf457600080fd5b505af1158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c9190614b88565b5090505b92915050565b600054610100900460ff1615808015610d565750600054600160ff909116105b80610d705750303b158015610d70575060005460ff166001145b610de25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610e23576000805461ff0019166101001790555b610e2b612aa3565b610e33612b28565b60408051600780825261010082019092526000916020820160e0803683370190505090508881600081518110610e6b57610e6b614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508781600181518110610e9f57610e9f614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508681600281518110610ed357610ed3614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600381518110610f0757610f07614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508481600481518110610f3b57610f3b614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600581518110610f6f57610f6f614c42565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600681518110610fa357610fa3614c42565b60200260200101906001600160a01b031690816001600160a01b031681525050610fcc81612ba5565b5060fc805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b038a81169190911790925560fb805482168b841617905560fd805482168984161790556101028054821685841617905560ff805482168684161790556101008054821687841617905561010180549091169187169190911790558015611091576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561113a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146112115760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108ce565b61121a81612c58565b6040805160008082526020820190925261123691839190612c60565b50565b61126b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528061010354815260200161010454815260200161010554815260200161010654815260200161010754815250905090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526000928392169063edd0b5cb9060240160206040518083038186803b15801561130b57600080fd5b505afa15801561131f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113439190614c58565b62ffffff169050611369620f424061136383670de0b6b3a7640000612e0f565b90612e24565b91505090565b611377612e39565b6001600160a01b0381166113b7576040517fecc6fdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fe805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080600260c954141561143c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955600019600086900b14156114635761145a868585612e93565b915091506114b2565b8460000b6001141561147a5761145a86858561320e565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600086900b60048201526024016108ce565b600160c955909590945092505050565b600080600260c95414156115185760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955600019600085900b141561154157611538888888888761358d565b91509150611592565b8360000b6001141561155a576115388888888887613ad7565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600085900b60048201526024016108ce565b600160c9559097909650945050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116435760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661169e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461171a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108ce565b61172382612c58565b61172f82826001612c60565b5050565b600260c95414156117865760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955611793612e39565b816117b157604051631f2a200560e01b815260040160405180910390fd5b60ff546040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152600092169063dd62ed3e9060440160206040518083038186803b15801561181657600080fd5b505afa15801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184e9190614c75565b905082811015611894576040517f9912131900000000000000000000000000000000000000000000000000000000815260048101829052602481018490526044016108ce565b8261010460008282546118a79190614c8e565b909155505060ff546040516323b872dd60e01b81526001600160a01b03848116600483015230602483015260448201869052909116906323b872dd90606401602060405180830381600087803b15801561190057600080fd5b505af1158015611914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119389190614b88565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b390604401602060405180830381600087803b15801561198957600080fd5b505af115801561199d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c19190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b158015611a1257600080fd5b505af1158015611a26573d6000803e3d6000fd5b50506040518581526001600160a01b03851692503391507f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f69060200160405180910390a35050600160c95550565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b145760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108ce565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60fc546040517f5ae809510000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635ae809519060240160206040518083038186803b158015611b9857600080fd5b505afa158015611bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d309190614c75565b6101025460009081906001600160a01b03163314611c0357604051633338cdbd60e11b81523360048201526024016108ce565b60008060019050600080611c21876000015185858a60400151613f57565b91509150806101056000828254611c389190614b71565b909155509195509350505050915091565b60fb546040517fc39994440000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b03169063c39994449060240160206040518083038186803b158015611ca657600080fd5b505afa158015611cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cde9190614c75565b905090565b611ceb612e39565b611cf56000614109565b565b6101025460009081906001600160a01b03163314611d2a57604051633338cdbd60e11b81523360048201526024016108ce565b600060019050600060019050600080611d4d876000015185858a60400151613f57565b91509150806101056000828254611d649190614c8e565b90915550611d729050614168565b90945092505050915091565b600260c9541415611dd15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ce565b600260c955611dde612e39565b81611dfc57604051631f2a200560e01b815260040160405180910390fd5b816101046000828254611e0f9190614b71565b909155505060fb5460ff5460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b158015611e6457600080fd5b505af1158015611e78573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b158015611eca57600080fd5b505af1158015611ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f029190614b88565b506040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e9060200160405180910390a35050600160c955565b611f54612e39565b6001600160a01b038116611f94576040517fecc6fdf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610102805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080611fd1600f6109e4565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205b9190614baa565b610101546040517fb2e271480000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03918216602482015291169063b2e271489060440160206040518083038186803b1580156120bf57600080fd5b505afa1580156120d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f79190614c75565b905061210c612105826141b9565b8390612e0f565b9250505090565b610102546001600160a01b0316331461214157604051633338cdbd60e11b81523360048201526024016108ce565b8061010360008282546121549190614c8e565b90915550506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b1580156121aa57600080fd5b505af11580156121be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e29190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b15801561223457600080fd5b505af1158015612248573d6000803e3d6000fd5b5050505050565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600092919091169063edd0b5cb9060240160206040518083038186803b1580156122b557600080fd5b505afa1580156122c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ed9190614c58565b62ffffff16905090565b6122ff612e39565b8061231d57604051631f2a200560e01b815260040160405180910390fd5b61010781905560405181815233907f34bdcf409ce95f734fb7583240c6266616d468cf38e556801bdb3e7e8733a5559060200160405180910390a250565b610102546000906001600160a01b0316331461238c57604051633338cdbd60e11b81523360048201526024016108ce565b600061242060ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156123df57600080fd5b505afa1580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124179190614c1f565b84906012612a6d565b905061242b816141d8565b80610108600082825461243e9190614ca6565b925050819055508061010560008282546124589190614c8e565b909155506124669050614168565b60ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b390604401602060405180830381600087803b1580156124b657600080fd5b505af11580156124ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ee9190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b15801561253f57600080fd5b505af1158015612553573d6000803e3d6000fd5b509293505050505b919050565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125b157600080fd5b505afa1580156125c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e99190614baa565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b815260040160206040518083038186803b15801561263b57600080fd5b505afa15801561264f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126739190614baa565b60fb546040517ff8b2cb4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529293506000929091169063f8b2cb4f9060240160206040518083038186803b1580156126d757600080fd5b505afa1580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f9190614c75565b9050600081121561274f576040517fb8176028000000000000000000000000000000000000000000000000000000008152600481018290526024016108ce565b6040517f80f57f110000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152600091908416906380f57f119060240160206040518083038186803b1580156127ad57600080fd5b505afa1580156127c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e59190614c75565b9050600061283a60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156123df57600080fd5b6040517fbba85bcf0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015291925060009182919088169063bba85bcf9060240160606040518083038186803b15801561289d57600080fd5b505afa1580156128b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d59190614cfe565b92509250506000848284866128ea9190614ca6565b6128f49190614bc7565b6128fe9190614bc7565b90506000811361291657612911816141b9565b612919565b60005b9a9950505050505050505050565b6000612931611fc4565b61010554611cde9190614bc7565b612947612e39565b6001600160a01b0381166129c35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108ce565b61123681614109565b6000610d306001600160a01b038316806c0100000000000000000000000061423b565b6000610d3082670de0b6b3a76400006c0100000000000000000000000061423b565b6000612a1b612927565b9050600081131580612a2c57508181105b1561172f576040517f1f04c58a00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016108ce565b6000612a7a83600a614e10565b612a8583600a614e10565b612a8f9086614e1f565b612a999190614e3e565b90505b9392505050565b600054610100900460ff16612b205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b611cf56143b5565b600054610100900460ff16611cf55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b60005b815181101561172f57612be6828281518110612bc657612bc6614c42565b60200260200101516001600160a01b03166001600160a01b03163b151590565b612c4657818181518110612bfc57612bfc614c42565b60200260200101516040517f247e97010000000000000000000000000000000000000000000000000000000081526004016108ce91906001600160a01b0391909116815260200190565b80612c5081614e60565b915050612ba8565b611236612e39565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612c93576109df8361443b565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612ccc57600080fd5b505afa925050508015612cfc575060408051601f3d908101601f19168201909252612cf991810190614c75565b60015b612d6e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108ce565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612e035760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108ce565b506109df838383614506565b6000612a9c8383670de0b6b3a7640000614531565b6000612a9c83670de0b6b3a76400008461455f565b6097546001600160a01b03163314611cf55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ce565b6000806000612f2a60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ee957600080fd5b505afa158015612efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f219190614c1f565b87906012612a6d565b9050612f35816141d8565b60ff546040516323b872dd60e01b81526001600160a01b03868116600483015230602483015260448201899052909116906323b872dd90606401602060405180830381600087803b158015612f8957600080fd5b505af1158015612f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc19190614b88565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810189905291169063095ea7b390604401602060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304a9190614b88565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018990529116906347e7ef2490604401600060405180830381600087803b15801561309b57600080fd5b505af11580156130af573d6000803e3d6000fd5b50505050600080600190506000806130c98585858c613f57565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561311f57600080fd5b505af1158015613133573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052909116925063a9059cbb9150604401602060405180830381600087803b15801561318657600080fd5b505af115801561319a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131be9190614b88565b50604080518381526020810183905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a190999098509650505050505050565b600080600061326460ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ee957600080fd5b905061326f81612a11565b6001600080806132818585838c613f57565b9150915060006132996132926112a6565b8490612e0f565b6132a39084614c8e565b610100546040516323b872dd60e01b81526001600160a01b038c81166004830152306024830152604482018490529293509116906323b872dd90606401602060405180830381600087803b1580156132fa57600080fd5b505af115801561330e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133329190614b88565b506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b15801561338457600080fd5b505af1158015613398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bc9190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b15801561340e57600080fd5b505af1158015613422573d6000803e3d6000fd5b505060fb5460ff5460405163f3fef3a360e01b81526001600160a01b03928316945063f3fef3a393506134729291909116908f906004016001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561348c57600080fd5b505af11580156134a0573d6000803e3d6000fd5b505060ff5460405163a9059cbb60e01b81526001600160a01b03909116925063a9059cbb91506134ea908c908f906004016001600160a01b03929092168252602082015260400190565b602060405180830381600087803b15801561350457600080fd5b505af1158015613518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061353c9190614b88565b50604080518481526020810184905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a15090999098509650505050505050565b600080600061362460ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e357600080fd5b505afa1580156135f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061361b9190614c1f565b89906012612a6d565b905061362f816141d8565b6000600181806136418582858d613f57565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561369757600080fd5b505af11580156136ab573d6000803e3d6000fd5b5050505060006040518060c0016040528061010060009054906101000a90046001600160a01b03166001600160a01b0316815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031681526020018481526020018d81526020018c6001600160a01b031681526020018b62ffffff168152509050600060fe60009054906101000a90046001600160a01b03166001600160a01b03166368e32802836040518263ffffffff1660e01b81526004016137c19190600060c0820190506001600160a01b0380845116835280602085015116602084015260408401516040840152606084015160608401528060808501511660808401525062ffffff60a08401511660a083015292915050565b602060405180830381600087803b1580156137db57600080fd5b505af11580156137ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138139190614c75565b90506000816138ab601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561386b57600080fd5b505afa15801561387f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138a39190614c1f565b879190612a6d565b6138b59190614bc7565b905060008113156139525760ff546040516323b872dd60e01b81526001600160a01b038d8116600483015230602483015260448201849052909116906323b872dd90606401602060405180830381600087803b15801561391457600080fd5b505af1158015613928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061394c9190614b88565b50613a18565b6000811215613a185760ff546001600160a01b03166323b872dd308d613977856141b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b1580156139de57600080fd5b505af11580156139f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a169190614b88565b505b60fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018790529116906347e7ef2490604401600060405180830381600087803b158015613a6857600080fd5b505af1158015613a7c573d6000803e3d6000fd5b505060408051888152602081018890529081018490527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9250606001905060405180910390a150929d919c50909a5050505050505050505050565b6000806000613b2d60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156135e357600080fd5b9050613b3881612a11565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b039182166004820152602481018b905291169063f3fef3a390604401600060405180830381600087803b158015613b8857600080fd5b505af1158015613b9c573d6000803e3d6000fd5b50506040805160c08101825260ff546001600160a01b03908116825261010054811660208301908152828401878152606084018e81528d84166080860190815262ffffff8e811660a0880190815260fe5498517f68e328020000000000000000000000000000000000000000000000000000000081528851881660048201529551871660248701529351604486015291516064850152518416608484015290511660a48201529194506000935091909116906368e328029060c401602060405180830381600087803b158015613c7157600080fd5b505af1158015613c85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ca99190614c75565b60fb54610100546040516311f9fbc960e21b81526001600160a01b0391821660048201526024810184905292935016906347e7ef2490604401600060405180830381600087803b158015613cfc57600080fd5b505af1158015613d10573d6000803e3d6000fd5b50505050600080613d2585600160008d613f57565b90925090506000613d368484614bc7565b90506000811315613e3d57610100546040516323b872dd60e01b81526001600160a01b038b8116600483015230602483015260448201849052909116906323b872dd90606401602060405180830381600087803b158015613d9657600080fd5b505af1158015613daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dce9190614b88565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b158015613e2057600080fd5b505af1158015613e34573d6000803e3d6000fd5b50505050613f04565b6000811215613f0457610100546001600160a01b03166323b872dd308b613e63856141b9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381600087803b158015613eca57600080fd5b505af1158015613ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f029190614b88565b505b60408051848152602081018490529081018290527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9060600160405180910390a150909b909a5098505050505050505050565b6040805161010081018252610101546001600160a01b03908116825285151560208301908152851515838501908152606084018981526000608086018181524260a0880190815289871660c0890190815260e0890184815260fc549a517fb6b1b6c30000000000000000000000000000000000000000000000000000000081528a518a16600482015297511515602489015295511515604488015293516064870152905160848601525160a48501529051841660c4840152905160e48301529384938493909284928392169063b6b1b6c390610104016040805180830381600087803b15801561404657600080fd5b505af115801561405a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061407e9190614e7b565b91509150600061408d8261457e565b90508061010660008282546140a29190614c8e565b9091555050604080518b15158152602081018d90528a1515818301526001600160a01b038a16606082015290517f9a15d84188925e678e5ac0dacda00aa8a73ebe2346741b3b64fc9919f494bbe49181900360800190a15090999098509650505050505050565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61010754610105541115611cf55761010754610105546040517fdc681c5a000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044016108ce565b6000808212156141d4576141cf82600019614e9f565b610d30565b5090565b60006141e2612927565b9050600081121580612a2c5750816141f9826141b9565b101561172f576040517f1f04c58a00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016108ce565b600080806000198587098587029250828110838203039150508060001415614275576000841161426a57600080fd5b508290049050612a9c565b80841161428157600080fd5b60008486880980840393811190920391905060006142a186196001614c8e565b86169586900495938490049360008190030460010190506142c28184614e1f565b9093179260006142d3876003614e1f565b60021890506142e28188614e1f565b6142ed906002614b71565b6142f79082614e1f565b90506143038188614e1f565b61430e906002614b71565b6143189082614e1f565b90506143248188614e1f565b61432f906002614b71565b6143399082614e1f565b90506143458188614e1f565b614350906002614b71565b61435a9082614e1f565b90506143668188614e1f565b614371906002614b71565b61437b9082614e1f565b90506143878188614e1f565b614392906002614b71565b61439c9082614e1f565b90506143a88186614e1f565b9998505050505050505050565b600054610100900460ff166144325760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ce565b611cf533614109565b6001600160a01b0381163b6144b85760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108ce565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61450f8361458b565b60008251118061451c5750805b156109df5761452b83836145cb565b50505050565b82820281151584158583048514171661454957600080fd5b6001826001830304018115150290509392505050565b82820281151584158583048514171661457757600080fd5b0492915050565b6000610d306121056112a6565b6145948161443b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61464a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108ce565b600080846001600160a01b0316846040516146659190614f3f565b600060405180830381855af49150503d80600081146146a0576040519150601f19603f3d011682016040523d82523d6000602084013e6146a5565b606091505b50915091506146cd8282604051806060016040528060278152602001614f5c602791396146d6565b95945050505050565b606083156146e5575081612a9c565b8251156146f55782518084602001fd5b8160405162461bcd60e51b81526004016108ce9190614b28565b6001600160a01b038116811461123657600080fd5b6000806040838503121561473757600080fd5b8235915060208301356147498161470f565b809150509250929050565b60006020828403121561476657600080fd5b813563ffffffff81168114612a9c57600080fd5b600080600080600080600060e0888a03121561479557600080fd5b87356147a08161470f565b965060208801356147b08161470f565b955060408801356147c08161470f565b945060608801356147d08161470f565b935060808801356147e08161470f565b925060a08801356147f08161470f565b915060c08801356148008161470f565b8091505092959891949750929550565b60006020828403121561482257600080fd5b8135612a9c8161470f565b8035600081900b811461255b57600080fd5b6000806000806080858703121561485557600080fd5b843593506148656020860161482d565b925060408501356148758161470f565b915060608501356148858161470f565b939692955090935050565b62ffffff8116811461123657600080fd5b60008060008060008060c087890312156148ba57600080fd5b863595506020870135945060408701356148d38161470f565b935060608701356148e381614890565b92506148f16080880161482d565b915060a08701356149018161470f565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561494e5761494e61490f565b604052919050565b6000806040838503121561496957600080fd5b82356149748161470f565b915060208381013567ffffffffffffffff8082111561499257600080fd5b818601915086601f8301126149a657600080fd5b8135818111156149b8576149b861490f565b6149ca84601f19601f84011601614925565b915080825287848285010111156149e057600080fd5b80848401858401376000848284010152508093505050509250929050565b600060808284031215614a1057600080fd5b6040516080810181811067ffffffffffffffff82111715614a3357614a3361490f565b604052823581526020830135614a488161470f565b60208201526040830135614a5b8161470f565b60408201526060830135614a6e8161470f565b60608201529392505050565b600060608284031215614a8c57600080fd5b6040516060810181811067ffffffffffffffff82111715614aaf57614aaf61490f565b604052823581526020830135614ac48161470f565b60208201526040830135614ad78161470f565b60408201529392505050565b600060208284031215614af557600080fd5b5035919050565b60005b83811015614b17578181015183820152602001614aff565b8381111561452b5750506000910152565b6020815260008251806020840152614b47816040850160208701614afc565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b600082821015614b8357614b83614b5b565b500390565b600060208284031215614b9a57600080fd5b81518015158114612a9c57600080fd5b600060208284031215614bbc57600080fd5b8151612a9c8161470f565b600080831283600160ff1b01831281151615614be557614be5614b5b565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018313811615614c1957614c19614b5b565b50500390565b600060208284031215614c3157600080fd5b815160ff81168114612a9c57600080fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215614c6a57600080fd5b8151612a9c81614890565b600060208284031215614c8757600080fd5b5051919050565b60008219821115614ca157614ca1614b5b565b500190565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03841381151615614ce057614ce0614b5b565b82600160ff1b038412811615614cf857614cf8614b5b565b50500190565b600080600060608486031215614d1357600080fd5b8351925060208401519150604084015190509250925092565b600181815b80851115614d67578160001904821115614d4d57614d4d614b5b565b80851615614d5a57918102915b93841c9390800290614d31565b509250929050565b600082614d7e57506001610d30565b81614d8b57506000610d30565b8160018114614da15760028114614dab57614dc7565b6001915050610d30565b60ff841115614dbc57614dbc614b5b565b50506001821b610d30565b5060208310610133831016604e8410600b8410161715614dea575081810a610d30565b614df48383614d2c565b8060001904821115614e0857614e08614b5b565b029392505050565b6000612a9c60ff841683614d6f565b6000816000190483118215151615614e3957614e39614b5b565b500290565b600082614e5b57634e487b7160e01b600052601260045260246000fd5b500490565b6000600019821415614e7457614e74614b5b565b5060010190565b60008060408385031215614e8e57600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615614ee057614ee0614b5b565b600160ff1b6000871286820588128184161615614eff57614eff614b5b565b60008712925087820587128484161615614f1b57614f1b614b5b565b87850587128184161615614f3157614f31614b5b565b505050929093029392505050565b60008251614f51818460208701614afc565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ea96acafbee5527c2ca2d88f4deb494ba9446269fa4db8ccc17c366c1be20ace64736f6c63430008090033"; - -type PerpDepositoryConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: PerpDepositoryConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class PerpDepository__factory extends ContractFactory { - constructor(...args: PerpDepositoryConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): PerpDepository { - return super.attach(address) as PerpDepository; - } - override connect(signer: Signer): PerpDepository__factory { - return super.connect(signer) as PerpDepository__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): PerpDepositoryInterface { - return new utils.Interface(_abi) as PerpDepositoryInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): PerpDepository { - return new Contract(address, _abi, signerOrProvider) as PerpDepository; - } -} diff --git a/src/artifacts/types/factories/UXDController__factory.ts b/src/artifacts/types/factories/UXDController__factory.ts deleted file mode 100644 index 54bdbf4..0000000 --- a/src/artifacts/types/factories/UXDController__factory.ts +++ /dev/null @@ -1,794 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../common"; -import type { UXDController, UXDControllerInterface } from "../UXDController"; - -const _abi = [ - { - inputs: [ - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - name: "CtrlAddressNotContract", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "collateral", - type: "address", - }, - ], - name: "CtrlNoDepository", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "CtrlNotApproved", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "tokenAddress", - type: "address", - }, - ], - name: "CtrlNotQuoteToken", - type: "error", - }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address", - }, - ], - name: "CtrlNotWhitelisted", - type: "error", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - ], - name: "CtrlTransferFailed", - type: "error", - }, - { - inputs: [], - name: "CtrlZeroAmount", - type: "error", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "previousAdmin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "newAdmin", - type: "address", - }, - ], - name: "AdminChanged", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "beacon", - type: "address", - }, - ], - name: "BeaconUpgraded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: 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: "base", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "quote", - type: "uint256", - }, - ], - name: "Minted", - 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: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "quoteAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "redeemabelAmount", - type: "uint256", - }, - ], - name: "QuoteMinted", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "quoteAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "redeemableAmount", - type: "uint256", - }, - ], - name: "QuoteRedeemed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "quoteToken", - type: "address", - }, - { - indexed: false, - internalType: "bool", - name: "isQuote", - type: "bool", - }, - ], - name: "QuoteTokenRegistered", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "base", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "quote", - type: "uint256", - }, - ], - name: "Redeemed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "by", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "newRouter", - type: "address", - }, - ], - name: "RouterUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "implementation", - type: "address", - }, - ], - name: "Upgraded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "by", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "token", - type: "address", - }, - { - indexed: false, - internalType: "bool", - name: "isWhitelisted", - type: "bool", - }, - ], - name: "WhitelistUpdated", - type: "event", - }, - { - inputs: [], - name: "VERSION", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "pure", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "collateralList", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - name: "collateralTokens", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_weth", - type: "address", - }, - ], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "baseToken", - type: "address", - }, - { - internalType: "uint256", - name: "collateralAmount", - type: "uint256", - }, - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - ], - name: "mint", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - ], - name: "mintWithEth", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "payable", - type: "function", - }, - { - inputs: [], - name: "owner", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "proxiableUUID", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "quoteTokenAddress", - type: "address", - }, - { - internalType: "uint256", - name: "quoteAmount", - type: "uint256", - }, - ], - name: "quoteMint", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "quoteTokenAddress", - type: "address", - }, - { - internalType: "uint256", - name: "redeemableAmount", - type: "uint256", - }, - ], - name: "quoteRedeem", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "baseToken", - type: "address", - }, - { - internalType: "uint256", - name: "redeemAmount", - type: "uint256", - }, - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - ], - name: "redeem", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "redeemAmount", - type: "uint256", - }, - { - internalType: "uint160", - name: "sqrtPriceLimitX96", - type: "uint160", - }, - ], - name: "redeemForEth", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "redeemable", - outputs: [ - { - internalType: "contract IRedeemable", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "tokenAddress", - type: "address", - }, - { - internalType: "bool", - name: "isQuote", - type: "bool", - }, - ], - name: "registerQuoteToken", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "renounceOwnership", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "router", - outputs: [ - { - internalType: "contract IDEXRouter", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_redeemable", - type: "address", - }, - ], - name: "setRedeemable", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "_router", - type: "address", - }, - ], - name: "setRouter", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "transferOwnership", - 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: "weth", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "tokenAddress", - type: "address", - }, - { - internalType: "bool", - name: "isWhitelisted", - type: "bool", - }, - { - internalType: "bool", - name: "isBaseToken", - type: "bool", - }, - ], - name: "whitelistCollateral", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - stateMutability: "payable", - type: "receive", - }, -]; - -const _bytecode = - "0x60a06040523060805234801561001457600080fd5b5060805161302b61004c6000396000818161064d015281816106e301528181610bae01528181610c440152610d3f015261302b6000f3fe6080604052600436106101845760003560e01c80638da5cb5b116100d6578063cffbc2971161007f578063f2fde38b11610059578063f2fde38b14610440578063f887ea4014610460578063ffa1ad741461048057600080fd5b8063cffbc297146103cd578063d4cc8c781461040d578063f1e660b21461042057600080fd5b8063c4d66de8116100b0578063c4d66de81461036d578063ca25aee41461038d578063cc4431e7146103ad57600080fd5b80638da5cb5b146102fa578063a03332d914610318578063c0d786551461034d57600080fd5b8063385e44651161013857806352d1902d1161011257806352d1902d146102a2578063715018a6146102c557806387a5e739146102da57600080fd5b8063385e44651461024f5780633fc8cef31461026f5780634f1ef2861461028f57600080fd5b80632e13168b116101695780632e13168b146101ef5780633024a9121461020f5780633659cfe61461022f57600080fd5b806329175b59146101905780632d7ecd11146101b257600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b506101b06101ab366004612c5d565b6104cc565b005b3480156101be57600080fd5b5060fb546101d2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101fb57600080fd5b506101b061020a366004612c88565b61053b565b34801561021b57600080fd5b506101d261022a366004612cd3565b610618565b34801561023b57600080fd5b506101b061024a366004612c5d565b610642565b34801561025b57600080fd5b506101b061026a366004612cec565b6107e0565b34801561027b57600080fd5b5060ff546101d2906001600160a01b031681565b6101b061029d366004612d2e565b610ba3565b3480156102ae57600080fd5b506102b7610d32565b6040519081526020016101e6565b3480156102d157600080fd5b506101b0610df7565b3480156102e657600080fd5b506101b06102f5366004612df2565b610e0b565b34801561030657600080fd5b5060c9546001600160a01b03166101d2565b34801561032457600080fd5b50610338610333366004612e2b565b610ea6565b604080519283526020830191909152016101e6565b34801561035957600080fd5b506101b0610368366004612c5d565b610f50565b34801561037957600080fd5b506101b0610388366004612c5d565b610fba565b34801561039957600080fd5b506101b06103a8366004612cec565b611145565b3480156103b957600080fd5b506103386103c8366004612e2b565b61159c565b3480156103d957600080fd5b506103fd6103e8366004612c5d565b60fd6020526000908152604090205460ff1681565b60405190151581526020016101e6565b61033861041b366004612c5d565b6118aa565b34801561042c57600080fd5b5061033861043b366004612e62565b611b0a565b34801561044c57600080fd5b506101b061045b366004612c5d565b611c61565b34801561046c57600080fd5b5060fc546101d2906001600160a01b031681565b34801561048c57600080fd5b50604080518082018252600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290516101e69190612eb3565b6104d4611cee565b6001600160a01b0381163b61050c576040516334f0e1ad60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b60fb805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610543611cee565b6001600160a01b0383163b610576576040516334f0e1ad60e11b81526001600160a01b0384166004820152602401610503565b6001600160a01b038316600090815260fd6020908152604080832080548615801560ff19928316179092556101009093529220805484151592169190911790556105c8576105c383611d48565b6105d1565b6105d183611dfd565b60405182151581526001600160a01b0384169033907fd9c6c3eabe38e3b9a606a66358d8f225489216a59eeba66facefb7d9166352669060200160405180910390a3505050565b60fe818154811061062857600080fd5b6000918252602090912001546001600160a01b0316905081565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106e15760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610503565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661073c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107b85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610503565b6107c181611f0d565b604080516000808252602082019092526107dd91839190611f15565b50565b600260655414156108335760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065558061086f576040517f9241029900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152610101602052604090205460ff166108cd576040517f316d291d0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610503565b60fb54604051636eb1769f60e11b815233600482018190523060248301529183916001600160a01b039091169063dd62ed3e9060440160206040518083038186803b15801561091b57600080fd5b505afa15801561092f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109539190612ee6565b10156109905760fb546040516307461df760e31b81526001600160a01b039182166004820152908216602482015260448101839052606401610503565b60fb546040517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820185905290911690639dc29fac90604401600060405180830381600087803b1580156109f757600080fd5b505af1158015610a0b573d6000803e3d6000fd5b505060fc546040517f8277d97e0000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201879052600094509091169150638277d97e9060440160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf9190612eff565b6040517f34e0e38b000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0384811660248301529192506000918316906334e0e38b90604401602060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b509190612ee6565b60408051828152602081018790529192506001600160a01b038516917f21cd5168f04017456107c8cd9c340084b5bf5cf323637dbbebb7d4e84dbc8c02910160405180910390a250506001606555505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610c425760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610503565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c9d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610d195760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610503565b610d2282611f0d565b610d2e82826001611f15565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd25760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610503565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610dff611cee565b610e0960006120c9565b565b610e13611cee565b6001600160a01b0382163b610e46576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610503565b6001600160a01b03821660008181526101016020908152604091829020805460ff191685151590811790915591519182527fc8430dd019f6519ecf8340f9053d5554303919b4816864ad61d2ddde22b6cda2910160405180910390a25050565b60008060026065541415610efc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556040805160a0810182526001600160a01b0380881682526020820187905285169181019190915233606082018190526080820152610f3e81612128565b60016065559097909650945050505050565b610f58611cee565b6001600160a01b0381163b610f8b576040516334f0e1ad60e11b81526001600160a01b0382166004820152602401610503565b60fc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600054610100900460ff1615808015610fda5750600054600160ff909116105b80610ff45750303b158015610ff4575060005460ff166001145b6110665760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610503565b6000805460ff191660011790558015611089576000805461ff0019166101001790555b611091612553565b6110996125c6565b6110a1612639565b6001600160a01b0382163b6110d4576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610503565b60ff805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610d2e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600260655414156111985760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b6002606555806111d4576040517f9241029900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152610101602052604090205460ff16611232576040517f316d291d0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610503565b604051636eb1769f60e11b81523360048201819052306024830152839183906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b15801561127d57600080fd5b505afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b59190612ee6565b10156112ee576040516307461df760e31b81526001600160a01b0380861660048301528216602482015260448101849052606401610503565b60fc546040517ff51a3fed0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201869052600092169063f51a3fed9060440160206040518083038186803b15801561135457600080fd5b505afa158015611368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138c9190612eff565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152808316602483015260448201879052919250908416906323b872dd90606401602060405180830381600087803b1580156113fb57600080fd5b505af115801561140f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114339190612f1c565b506040517fe4bdc4d2000000000000000000000000000000000000000000000000000000008152600481018590526000906001600160a01b0383169063e4bdc4d290602401602060405180830381600087803b15801561149257600080fd5b505af11580156114a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ca9190612ee6565b60fb546040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490529293509116906340c10f1990604401600060405180830381600087803b15801561153357600080fd5b505af1158015611547573d6000803e3d6000fd5b505060408051888152602081018590526001600160a01b03871693507fe97109b4f33fd09a5a0ad4cf32b4accec44c4ad7a3ebe4aef309c24a90a5a69992500160405180910390a25050600160655550505050565b600080600260655414156115f25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556001600160a01b038516600090815260fd602052604090205460ff16611654576040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602401610503565b604051636eb1769f60e11b81523360048201819052306024830152869186906001600160a01b0384169063dd62ed3e9060440160206040518083038186803b15801561169f57600080fd5b505afa1580156116b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d79190612ee6565b1015611710576040516307461df760e31b81526001600160a01b0380891660048301528216602482015260448101879052606401610503565b60fc546040517f3455d7c40000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152602482018990526000921690633455d7c49060440160206040518083038186803b15801561177657600080fd5b505afa15801561178a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ae9190612eff565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528083166024830152604482018a9052919250908416906323b872dd90606401602060405180830381600087803b15801561181d57600080fd5b505af1158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118559190612f1c565b506040805160a0810182526001600160a01b03808b168252602082018a9052888116928201929092523360608201529082166080820152611895816126a4565b6001606555909a909950975050505050505050565b600080600260655414156119005760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b600260655560ff5460fc546040517f3455d7c40000000000000000000000000000000000000000000000000000000081526001600160a01b03928316600482018190523460248301819052939092600092911690633455d7c49060440160206040518083038186803b15801561197557600080fd5b505afa158015611989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ad9190612eff565b905060ff60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b1580156119ff57600080fd5b505af1158015611a13573d6000803e3d6000fd5b505060ff546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201899052909116935063a9059cbb92506044019050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab89190612f1c565b506040805160a0810182526001600160a01b038085168252346020830152888116928201929092523360608201529082166080820152611af7816126a4565b6001606555909890975095505050505050565b60008060026065541415611b605760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610503565b60026065556040805160a08101825260ff546001600160a01b03908116825260208201879052851691810191909152336060820152306080820152600080611ba783612128565b60ff546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018490529294509092506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b505060405133925084156108fc02915084906000818181858888f19350505050158015611c4f573d6000803e3d6000fd5b50600160655590969095509350505050565b611c69611cee565b6001600160a01b038116611ce55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610503565b6107dd816120c9565b60c9546001600160a01b03163314610e095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610503565b60005b60fe54811015611d9d5760fe8181548110611d6857611d68612f39565b6000918252602090912001546001600160a01b0383811691161415611d8b575050565b80611d9581612f4f565b915050611d4b565b5060fe80546001810182556000919091527f54075df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60001960005b60fe54811015611e595760fe8181548110611e2057611e20612f39565b6000918252602090912001546001600160a01b0384811691161415611e4757809150611e59565b80611e5181612f4f565b915050611e03565b506000198114610d2e5760fe8054611e6f612f39565b60009182526020909120015460fe80546001600160a01b039092169183908110611e9b57611e9b612f39565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060fe805480611eda57611eda612f78565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b6107dd611cee565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f4d57611f48836128e1565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8657600080fd5b505afa925050508015611fb6575060408051601f3d908101601f19168201909252611fb391810190612ee6565b60015b6120285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610503565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146120bd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610503565b50611f488383836129ac565b60c980546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b0316600090815260fd6020526040812054819060ff1661218b5782516040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610503565b604080516080808201835260208681018051845287516001600160a01b039081169285019290925287850151821684860152918701518116606084015260fc548751925194517fe314e9fd000000000000000000000000000000000000000000000000000000008152928216600484015260248301949094529192600092169063e314e9fd9060440160206040518083038186803b15801561222c57600080fd5b505afa158015612240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122649190612eff565b604080517f65c4f1260000000000000000000000000000000000000000000000000000000081528451600482015260208501516001600160a01b039081166024830152918501518216604482015260608501518216606482015291925060009182918416906365c4f126906084016040805180830381600087803b1580156122eb57600080fd5b505af11580156122ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123239190612f8e565b60fb5460608a0151604051636eb1769f60e11b81526001600160a01b039182166004820152306024820152939550919350839291169063dd62ed3e9060440160206040518083038186803b15801561237a57600080fd5b505afa15801561238e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b29190612ee6565b10156123f35760fb5460608801516040516307461df760e31b81526001600160a01b0392831660048201529116602482015260448101829052606401610503565b60fb5460608801516040517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260248101849052911690639dc29fac90604401600060405180830381600087803b15801561245e57600080fd5b505af1158015612472573d6000803e3d6000fd5b5050505060808701516040517f0af504cc000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b03918216602482015290841690630af504cc90604401600060405180830381600087803b1580156124df57600080fd5b505af11580156124f3573d6000803e3d6000fd5b5050505086606001516001600160a01b03167ff3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec262838360405161253f929190918252602082015260400190565b60405180910390a290969095509350505050565b600054610100900460ff166125be5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e096129d7565b600054610100900460ff166126315760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e09612a4b565b600054610100900460ff16610e095760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b6040805160608101825260208381015180835284516001600160a01b039081169284019290925284840151821683850152608085015193517fbad4a01f0000000000000000000000000000000000000000000000000000000081526004810191909152600093849392169063bad4a01f90602401600060405180830381600087803b15801561273257600080fd5b505af1158015612746573d6000803e3d6000fd5b505050506080840151604080517f79604f0c0000000000000000000000000000000000000000000000000000000081528351600482015260208401516001600160a01b0390811660248301529184015182166044820152600092839216906379604f0c906064016040805180830381600087803b1580156127c657600080fd5b505af11580156127da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fe9190612f8e565b60fb5460608901516040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810184905293955091935016906340c10f1990604401600060405180830381600087803b15801561286e57600080fd5b505af1158015612882573d6000803e3d6000fd5b5050505085606001516001600160a01b03167f25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff83836040516128ce929190918252602082015260400190565b60405180910390a2909590945092505050565b6001600160a01b0381163b61295e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610503565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6129b583612abd565b6000825111806129c25750805b15611f48576129d18383612afd565b50505050565b600054610100900460ff16612a425760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b610e09336120c9565b600054610100900460ff16612ab65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610503565b6001606555565b612ac6816128e1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612b7c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610503565b600080846001600160a01b031684604051612b979190612fb2565b600060405180830381855af49150503d8060008114612bd2576040519150601f19603f3d011682016040523d82523d6000602084013e612bd7565b606091505b5091509150612bff8282604051806060016040528060278152602001612fcf60279139612c08565b95945050505050565b60608315612c17575081612c41565b825115612c275782518084602001fd5b8160405162461bcd60e51b81526004016105039190612eb3565b9392505050565b6001600160a01b03811681146107dd57600080fd5b600060208284031215612c6f57600080fd5b8135612c4181612c48565b80151581146107dd57600080fd5b600080600060608486031215612c9d57600080fd5b8335612ca881612c48565b92506020840135612cb881612c7a565b91506040840135612cc881612c7a565b809150509250925092565b600060208284031215612ce557600080fd5b5035919050565b60008060408385031215612cff57600080fd5b8235612d0a81612c48565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612d4157600080fd5b8235612d4c81612c48565b9150602083013567ffffffffffffffff80821115612d6957600080fd5b818501915085601f830112612d7d57600080fd5b813581811115612d8f57612d8f612d18565b604051601f8201601f19908116603f01168101908382118183101715612db757612db7612d18565b81604052828152886020848701011115612dd057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215612e0557600080fd5b8235612e1081612c48565b91506020830135612e2081612c7a565b809150509250929050565b600080600060608486031215612e4057600080fd5b8335612e4b81612c48565b9250602084013591506040840135612cc881612c48565b60008060408385031215612e7557600080fd5b823591506020830135612e2081612c48565b60005b83811015612ea2578181015183820152602001612e8a565b838111156129d15750506000910152565b6020815260008251806020840152612ed2816040850160208701612e87565b601f01601f19169190910160400192915050565b600060208284031215612ef857600080fd5b5051919050565b600060208284031215612f1157600080fd5b8151612c4181612c48565b600060208284031215612f2e57600080fd5b8151612c4181612c7a565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612f7157634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603160045260246000fd5b60008060408385031215612fa157600080fd5b505080516020909101519092909150565b60008251612fc4818460208701612e87565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220005604209764c267e4804fdb90a5af083707eedc3f77cc012e4d071d365bf7a464736f6c63430008090033"; - -type UXDControllerConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: UXDControllerConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class UXDController__factory extends ContractFactory { - constructor(...args: UXDControllerConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): UXDController { - return super.attach(address) as UXDController; - } - override connect(signer: Signer): UXDController__factory { - return super.connect(signer) as UXDController__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): UXDControllerInterface { - return new utils.Interface(_abi) as UXDControllerInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): UXDController { - return new Contract(address, _abi, signerOrProvider) as UXDController; - } -} diff --git a/src/artifacts/types/index.ts b/src/artifacts/types/index.ts deleted file mode 100644 index dbbd668..0000000 --- a/src/artifacts/types/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { ERC20 } from "./ERC20"; -export type { PerpDepository } from "./PerpDepository"; -export type { UXDController } from "./UXDController"; -export * as factories from "./factories"; -export { ERC20__factory } from "./factories/ERC20__factory"; -export { PerpDepository__factory } from "./factories/PerpDepository__factory"; -export { UXDController__factory } from "./factories/UXDController__factory"; diff --git a/src/index.ts b/src/index.ts index bf301e0..12dc998 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,7 @@ export * from "./lib/UXDController"; -export * from "./lib/PerpDepository"; export * from "./lib/client"; export * from "./lib/PerpWrapper"; export * from "./utils/price"; +export { + Address +} from "./lib/types" \ No newline at end of file diff --git a/src/lib/PerpDepository.ts b/src/lib/PerpDepository.ts deleted file mode 100644 index 5456b30..0000000 --- a/src/lib/PerpDepository.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { ethers, providers } from "ethers"; -import { - PerpDepository__factory, - PerpDepository as PerpDepositoryContract, -} from "../artifacts/types"; - -export class PerpDepository { - private provider: providers.JsonRpcProvider; - private depositoryContract: PerpDepositoryContract; - - constructor({ - provider, - address, - }: { - provider: providers.JsonRpcProvider; - address: string; - }) { - this.provider = provider; - this.depositoryContract = PerpDepository__factory.connect( - address, - this.provider - ); - } - - quoteToken(): Promise { - return this.depositoryContract.quoteToken(); - } - - baseToken(): Promise { - return this.depositoryContract.baseToken(); - } - - async exchangeFee(): Promise { - const fee = await this.depositoryContract.getExchangeFee(); - return Number(ethers.utils.formatUnits(fee, "6")); - } - - async totalFeesPaid(): Promise { - const feesPaid = await this.depositoryContract.totalFeesPaid(); - return Number(ethers.utils.formatEther(feesPaid)); - } - - async redeemableAmountPending(): Promise { - const amountPending = - await this.depositoryContract.redeemableUnderManagement(); - return Number(ethers.utils.formatEther(amountPending)); - } - - async redeemableSoftCap(): Promise { - const softCap = await this.depositoryContract.redeemableSoftCap(); - return Number(ethers.utils.formatEther(softCap)); - } -} diff --git a/src/lib/PerpWrapper.ts b/src/lib/PerpWrapper.ts index deb4065..8dbe5df 100644 --- a/src/lib/PerpWrapper.ts +++ b/src/lib/PerpWrapper.ts @@ -1,28 +1,28 @@ import { PerpetualProtocol } from "@perp/sdk-curie"; -export class PerpInteractor { - private perp: PerpetualProtocol; +export class PerpWrapper { + private perp: PerpetualProtocol; - constructor({ perp }: { perp: PerpetualProtocol }) { - this.perp = perp; - } + constructor({ perp }: { perp: PerpetualProtocol }) { + this.perp = perp; + } - static async initialize( - rpcEndpoint: string, - chainId: number - ): Promise { - const perp = new PerpetualProtocol({ - chainId, - providerConfigs: [{ rpcUrl: rpcEndpoint }], - }); - await perp.init(); - return new PerpInteractor({ perp }); - } + static async initialize( + rpcEndpoint: string, + chainId: number + ): Promise { + const perp = new PerpetualProtocol({ + chainId, + providerConfigs: [{ rpcUrl: rpcEndpoint }], + }); + await perp.init(); + return new PerpWrapper({ perp }); + } - async getMarkPrice(tickerSymbol: string): Promise { - const prices = await this.perp.markets - .getMarket({ tickerSymbol }) - .getPrices(); - return prices.markPrice.toNumber(); - } -} + async getMarkPrice(tickerSymbol: string): Promise { + const prices = await this.perp.markets + .getMarket({ tickerSymbol }) + .getPrices(); + return prices.markPrice.toNumber(); + } +} \ No newline at end of file diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 5f69226..020b793 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -4,20 +4,19 @@ import { ContractTransaction, ethers, Signer, + providers, + utils, } from "ethers"; import { Subject } from "rxjs"; import { - MintedEventObject, - RedeemedEventObject, + UXDToken__factory, + UXDController__factory, + UXDToken as UXDTokenContract, UXDController as UXDControllerContract, -} from "../artifacts/types/UXDController"; -import { - ERC20, - ApprovalEventObject, - TransferEventObject, -} from "../artifacts/types/ERC20"; -import { ERC20__factory, UXDController__factory } from "../artifacts/types"; + ERC20__factory, +} from "../typechain-types"; import { encodePriceSqrt } from "./priceEncoder"; +import { Address } from "./types"; export interface CollateralInfo { symbol?: string; @@ -27,21 +26,10 @@ export interface CollateralInfo { } export class UXDController { - protected provider: ethers.providers.JsonRpcProvider; - - // internal contracts - protected controllerContract: UXDControllerContract; - protected uxdContract: ERC20; + public readonly provider: providers.JsonRpcProvider; - // clients can listen to events on these subjects - public readonly mintSubject: Subject = - new Subject(); - public readonly redeemSubject: Subject = - new Subject(); - public readonly uxdApprovalSubject: Subject = - new Subject(); - public readonly uxdTransferSubject: Subject = - new Subject(); + public readonly contract: UXDControllerContract + public readonly uxdTokenContract: UXDTokenContract constructor({ provider, @@ -49,95 +37,112 @@ export class UXDController { redeemable, }: { provider: ethers.providers.JsonRpcProvider; - controller: string; - redeemable: string; + controller: Address; + redeemable: Address; }) { this.provider = provider; - this.controllerContract = UXDController__factory.connect( + + this.contract = UXDController__factory.connect( controller, - this.provider + this.provider, + ); + + this.uxdTokenContract = UXDToken__factory.connect( + redeemable, + this.provider, ); - this.uxdContract = ERC20__factory.connect(redeemable, this.provider); } - public mint({ + public async mint({ amount, - targetPrice, + minAmountOut, signer, collateral, + receiver, }: { amount: number; - targetPrice: number; + minAmountOut: number; signer: Signer; - collateral?: string; + collateral?: Address; + receiver?: Address; }): Promise { - const ethAmount = ethers.utils.parseEther(amount.toString()); - const targetPriceX96 = encodePriceSqrt(targetPrice); + const nativeAmount = utils.parseEther(amount.toString()); + const minNativeAmountOut = utils.parseEther(minAmountOut.toString()); + if (collateral) { - return this.mintWithERC20(ethAmount, targetPriceX96, signer, collateral); + return this.mintWithERC20({ + nativeAmount, + minNativeAmountOut, + signer, + collateral, + receiver, + }); } - return this.mintWithETH(ethAmount, targetPriceX96, signer); - } - - private mintWithERC20( - ethAmount: BigNumber, - targetPriceX96: BigNumber, - signer: Signer, - collateral: string - ): Promise { - return this.controllerContract - .connect(signer) - .mint(collateral, ethAmount, targetPriceX96); - } - private mintWithETH( - ethAmount: BigNumber, - targetPriceX96: BigNumber, - signer: Signer - ): Promise { - return this.controllerContract - .connect(signer) - .mintWithEth(targetPriceX96, { value: ethAmount }); + return this.mintWithETH({ + nativeAmount, + minNativeAmountOut, + signer, + receiver, + }); } - public redeem({ - amount, - targetPrice, + // Mint with any ERC20 compatible token + protected async mintWithERC20({ + nativeAmount, + minNativeAmountOut, signer, collateral, + receiver, }: { - amount: number; - targetPrice: number; + nativeAmount: BigNumber; + minNativeAmountOut: BigNumber; signer: Signer; - collateral?: string; + collateral: Address; + receiver?: Address; }): Promise { - const uxdAmount = ethers.utils.parseEther(amount.toString()); - const targetPriceX96 = encodePriceSqrt(targetPrice); - if (collateral) { - return this.redeemERC20(uxdAmount, targetPriceX96, signer, collateral); - } - return this.redeemEth(uxdAmount, targetPriceX96, signer); - } + console.log('Mint with ERC20!'); - private redeemERC20( - uxdAmount: BigNumber, - targetPriceX96: BigNumber, - signer: Signer, - collateral: string - ): Promise { - return this.controllerContract + return this.contract .connect(signer) - .redeem(collateral, uxdAmount, targetPriceX96); + .mint( + collateral, + nativeAmount, + minNativeAmountOut, + receiver ?? await signer.getAddress(), + { + // ??? Which is the correct gas limit to put? Ask john + gasLimit: ethers.utils.parseEther('0.000000000009'), + } + ); } - private redeemEth( - uxdAmount: BigNumber, - targetPriceX96: BigNumber, - signer: Signer - ): Promise { - return this.controllerContract + protected async mintWithETH({ + nativeAmount, + minNativeAmountOut, + signer, + receiver, + }: { + nativeAmount: BigNumber; + minNativeAmountOut: BigNumber; + signer: Signer; + receiver?: Address; + }): Promise { + console.log('Mint with ETH!'); + + const receiverAddress = receiver ?? await signer.getAddress(); + + return this.contract .connect(signer) - .redeemForEth(uxdAmount, targetPriceX96); + .mintWithEth( + minNativeAmountOut, + receiverAddress, + { + value: nativeAmount, + // ??? Which is the correct gas limit to put? Ask john + gasLimit: ethers.utils.parseEther('0.000000000007'), + }, + ); } public approveUXD({ @@ -145,120 +150,62 @@ export class UXDController { amount, signer, }: { - spender: string; + spender: Address; amount: number; signer: Signer; }): Promise { - const uxdAmount = ethers.utils.parseEther(amount.toString()); - return this.uxdContract.connect(signer).approve(spender, uxdAmount); + const uxdAmount = utils.parseEther(amount.toString()); + + return this.uxdTokenContract.connect(signer).approve(spender, uxdAmount); } - public approveToken({ - contractAddress, + public approveERC20Token({ + token, spender, amount, signer, }: { - contractAddress: string; - spender: string; + token: Address; + spender: Address; amount: number; signer: Signer; }): Promise { - const ethAmount = ethers.utils.parseEther(amount.toString()); - return ERC20__factory.connect(contractAddress, signer) + const nativeAmount = utils.parseEther(amount.toString()); + + return ERC20__factory.connect(token, signer) .connect(signer) - .approve(spender, ethAmount); + .approve(spender, nativeAmount); } - public async allowance({ - contractAddress, + public async allowERC20TokenTransfer({ + token, account, spender, }: { - contractAddress: string; - account: string; - spender: string; + token: Address; + account: Address; + spender: Address; }): Promise { const allowance = await ERC20__factory.connect( - contractAddress, + token, this.provider ).allowance(account, spender); + return Number(ethers.utils.formatEther(allowance)); } - public async tokenBalance({ - contractAddress, + public async getTokenBalance({ + token, account, }: { - contractAddress: string; - account: string; + token: Address; + account: Address; }): Promise { const balance = await ERC20__factory.connect( - contractAddress, + token, this.provider ).balanceOf(account); - return Number(ethers.utils.formatEther(balance)); - } - - public async getRedeemableMintCirculatingSupply(): Promise { - const totalSupply = await this.uxdContract.totalSupply(); - return Number(ethers.utils.formatEther(totalSupply)); - } - // ===== utils - - // Transform values in an array into an object with named attributes - // Use the position of the key and the value to match - protected arrayToObject(keys: (keyof T)[], values: unknown[]): T { - return keys.reduce( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (obj, value, index) => (obj[value] = values[index] as any), - {} as T - ); - } - - // Utility function that converts an event object received from the contract to a subject - protected registerEventListener< - T = - | MintedEventObject - | RedeemedEventObject - | ApprovalEventObject - | TransferEventObject - >( - contract: Contract, - eventName: string, - subject: Subject, - keys: (keyof T)[] - ): void { - contract.on(eventName, (args) => { - subject.next(this.arrayToObject(keys, args)); - }); - } - - protected registerEventListeners() { - this.registerEventListener( - this.controllerContract, - "Minted", - this.mintSubject, - ["account", "base", "quote"] - ); - this.registerEventListener( - this.controllerContract, - "Redeemed", - this.redeemSubject, - ["account", "base", "quote"] - ); - this.registerEventListener( - this.uxdContract, - "Approval", - this.uxdApprovalSubject, - ["owner", "spender", "value"] - ); - this.registerEventListener( - this.uxdContract, - "Transfer", - this.uxdTransferSubject, - ["from", "to", "value"] - ); + return Number(ethers.utils.formatEther(balance)); } } diff --git a/src/lib/client.ts b/src/lib/client.ts index 62c9b0e..03be941 100644 --- a/src/lib/client.ts +++ b/src/lib/client.ts @@ -1,81 +1,32 @@ import { providers } from "ethers"; -import { - ERC20, - ERC20__factory, - PerpDepository as PerpDepositoryContract, - PerpDepository__factory, - UXDController as UXDControllerContract, - UXDController__factory, -} from "../artifacts/types"; -import { PerpDepository } from "./PerpDepository"; +import { Address } from "./types"; import { UXDController } from "./UXDController"; export class UXDClient { - protected readonly controller: UXDController; - protected readonly depository: PerpDepository; + public readonly provider: providers.JsonRpcProvider; - // -- TEMPORARY -- - // IN ORDER TO EXPOSE CONTRACTS WAITING FOR PROPER UTILITIES FUNCTIONS TO BE IMPLEMENTED - protected readonly provider: providers.JsonRpcProvider; - protected readonly redeemable: string; - protected readonly controllerAddress: string; - protected readonly depositoryAddress: string; - // ---------------- + public readonly redeemable: Address; + public readonly controller: Address; + + public readonly uxdController: UXDController; constructor({ provider, controller, - depository, redeemable, }: { provider: providers.JsonRpcProvider; - controller: string; - depository: string; - redeemable: string; + controller: Address; + redeemable: Address; }) { - this.controller = new UXDController({ + this.provider = provider; + this.controller = controller; + this.redeemable = redeemable; + + this.uxdController = new UXDController({ provider, controller, redeemable, }); - - this.depository = new PerpDepository({ - address: depository, - provider, - }); - - this.provider = provider; - this.redeemable = redeemable; - this.controllerAddress = controller; - this.depositoryAddress = depository; - } - - // TODO: more - public getController(): UXDController { - return this.controller; - } - - public getDepository(): PerpDepository { - return this.depository; - } - - // -- TEMPORARY -- - public getERC20Contract(): ERC20 { - return ERC20__factory.connect(this.redeemable, this.provider); - } - - public getUXDControllerContract(): UXDControllerContract { - return UXDController__factory.connect( - this.controllerAddress, - this.provider - ); - } - - public getPerpDepositoryContract(): PerpDepositoryContract { - return PerpDepository__factory.connect( - this.depositoryAddress, - this.provider - ); } - // ---------------- } diff --git a/src/lib/types.d.ts b/src/lib/types.d.ts new file mode 100644 index 0000000..4908a26 --- /dev/null +++ b/src/lib/types.d.ts @@ -0,0 +1,2 @@ +// Makes Ethereum addresses explicit +export type Address = string \ No newline at end of file diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts new file mode 100644 index 0000000..4ebb8a9 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts @@ -0,0 +1,188 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface OwnableUpgradeableInterface extends utils.Interface { + functions: { + "owner()": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "owner" | "renounceOwnership" | "transferOwnership" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + + events: { + "Initialized(uint8)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; +} + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface OwnableUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: OwnableUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + owner(overrides?: CallOverrides): Promise<[string]>; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + }; + + estimateGas: { + owner(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + owner(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts new file mode 100644 index 0000000..5b7d844 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { OwnableUpgradeable } from "./OwnableUpgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/index.ts new file mode 100644 index 0000000..f7e916d --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/index.ts @@ -0,0 +1,15 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as access from "./access"; +export type { access }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as proxy from "./proxy"; +export type { proxy }; +import type * as security from "./security"; +export type { security }; +import type * as token from "./token"; +export type { token }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts new file mode 100644 index 0000000..1280278 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts @@ -0,0 +1,88 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IERC1822ProxiableUpgradeableInterface extends utils.Interface { + functions: { + "proxiableUUID()": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "proxiableUUID"): FunctionFragment; + + encodeFunctionData( + functionFragment: "proxiableUUID", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "proxiableUUID", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IERC1822ProxiableUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC1822ProxiableUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + proxiableUUID(overrides?: CallOverrides): Promise<[string]>; + }; + + proxiableUUID(overrides?: CallOverrides): Promise; + + callStatic: { + proxiableUUID(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + proxiableUUID(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + proxiableUUID(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts new file mode 100644 index 0000000..694b98f --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC1822ProxiableUpgradeable } from "./IERC1822ProxiableUpgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts new file mode 100644 index 0000000..d684a13 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as draftIerc1822UpgradeableSol from "./draft-IERC1822Upgradeable.sol"; +export type { draftIerc1822UpgradeableSol }; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts new file mode 100644 index 0000000..8c87141 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts @@ -0,0 +1,127 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseContract, Signer, utils } from "ethers"; +import type { EventFragment } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface ERC1967UpgradeUpgradeableInterface extends utils.Interface { + functions: {}; + + events: { + "AdminChanged(address,address)": EventFragment; + "BeaconUpgraded(address)": EventFragment; + "Initialized(uint8)": EventFragment; + "Upgraded(address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; +} + +export interface AdminChangedEventObject { + previousAdmin: string; + newAdmin: string; +} +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject +>; + +export type AdminChangedEventFilter = TypedEventFilter; + +export interface BeaconUpgradedEventObject { + beacon: string; +} +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject +>; + +export type BeaconUpgradedEventFilter = TypedEventFilter; + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface UpgradedEventObject { + implementation: string; +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; + +export type UpgradedEventFilter = TypedEventFilter; + +export interface ERC1967UpgradeUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC1967UpgradeUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: { + "AdminChanged(address,address)"( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + AdminChanged( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + + "BeaconUpgraded(address)"( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + BeaconUpgraded( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "Upgraded(address)"( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + Upgraded( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + }; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts new file mode 100644 index 0000000..3c90548 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC1967UpgradeUpgradeable } from "./ERC1967UpgradeUpgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts new file mode 100644 index 0000000..b8c9d2e --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts @@ -0,0 +1,88 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IBeaconUpgradeableInterface extends utils.Interface { + functions: { + "implementation()": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "implementation"): FunctionFragment; + + encodeFunctionData( + functionFragment: "implementation", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "implementation", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IBeaconUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IBeaconUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + implementation(overrides?: CallOverrides): Promise<[string]>; + }; + + implementation(overrides?: CallOverrides): Promise; + + callStatic: { + implementation(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + implementation(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + implementation(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts new file mode 100644 index 0000000..51fb2a5 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IBeaconUpgradeable } from "./IBeaconUpgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts new file mode 100644 index 0000000..c2433d8 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc1967 from "./ERC1967"; +export type { erc1967 }; +import type * as beacon from "./beacon"; +export type { beacon }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts new file mode 100644 index 0000000..a97ca26 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts @@ -0,0 +1,70 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseContract, Signer, utils } from "ethers"; +import type { EventFragment } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface InitializableInterface extends utils.Interface { + functions: {}; + + events: { + "Initialized(uint8)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; +} + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface Initializable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: InitializableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: { + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + }; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts new file mode 100644 index 0000000..352a25f --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts @@ -0,0 +1,238 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface UUPSUpgradeableInterface extends utils.Interface { + functions: { + "proxiableUUID()": FunctionFragment; + "upgradeTo(address)": FunctionFragment; + "upgradeToAndCall(address,bytes)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "proxiableUUID" | "upgradeTo" | "upgradeToAndCall" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "proxiableUUID", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "proxiableUUID", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; + + events: { + "AdminChanged(address,address)": EventFragment; + "BeaconUpgraded(address)": EventFragment; + "Initialized(uint8)": EventFragment; + "Upgraded(address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; +} + +export interface AdminChangedEventObject { + previousAdmin: string; + newAdmin: string; +} +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject +>; + +export type AdminChangedEventFilter = TypedEventFilter; + +export interface BeaconUpgradedEventObject { + beacon: string; +} +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject +>; + +export type BeaconUpgradedEventFilter = TypedEventFilter; + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface UpgradedEventObject { + implementation: string; +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; + +export type UpgradedEventFilter = TypedEventFilter; + +export interface UUPSUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UUPSUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + proxiableUUID(overrides?: CallOverrides): Promise<[string]>; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + }; + + proxiableUUID(overrides?: CallOverrides): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + proxiableUUID(overrides?: CallOverrides): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "AdminChanged(address,address)"( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + AdminChanged( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + + "BeaconUpgraded(address)"( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + BeaconUpgraded( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "Upgraded(address)"( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + Upgraded( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + }; + + estimateGas: { + proxiableUUID(overrides?: CallOverrides): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + proxiableUUID(overrides?: CallOverrides): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts new file mode 100644 index 0000000..f23837b --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Initializable } from "./Initializable"; +export type { UUPSUpgradeable } from "./UUPSUpgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts new file mode 100644 index 0000000..f0681bd --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts @@ -0,0 +1,70 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseContract, Signer, utils } from "ethers"; +import type { EventFragment } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface ReentrancyGuardUpgradeableInterface extends utils.Interface { + functions: {}; + + events: { + "Initialized(uint8)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; +} + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface ReentrancyGuardUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ReentrancyGuardUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: { + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + }; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts new file mode 100644 index 0000000..ae3ca38 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ReentrancyGuardUpgradeable } from "./ReentrancyGuardUpgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts new file mode 100644 index 0000000..cb084e6 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.ts @@ -0,0 +1,342 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IERC20UpgradeableInterface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface IERC20Upgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC20UpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts new file mode 100644 index 0000000..2e6ac6e --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Upgradeable } from "./IERC20Upgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts new file mode 100644 index 0000000..5c4062a --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts new file mode 100644 index 0000000..6886700 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts @@ -0,0 +1,70 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseContract, Signer, utils } from "ethers"; +import type { EventFragment } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface ContextUpgradeableInterface extends utils.Interface { + functions: {}; + + events: { + "Initialized(uint8)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; +} + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface ContextUpgradeable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ContextUpgradeableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: { + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + }; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/src/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts b/src/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts new file mode 100644 index 0000000..749da39 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ContextUpgradeable } from "./ContextUpgradeable"; diff --git a/src/typechain-types/@openzeppelin/contracts/access/AccessControl.ts b/src/typechain-types/@openzeppelin/contracts/access/AccessControl.ts new file mode 100644 index 0000000..d003a8b --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/access/AccessControl.ts @@ -0,0 +1,398 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface AccessControlInterface extends utils.Interface { + functions: { + "DEFAULT_ADMIN_ROLE()": FunctionFragment; + "getRoleAdmin(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "DEFAULT_ADMIN_ROLE" + | "getRoleAdmin" + | "grantRole" + | "hasRole" + | "renounceRole" + | "revokeRole" + | "supportsInterface" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DEFAULT_ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getRoleAdmin", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "grantRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hasRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "renounceRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "DEFAULT_ADMIN_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRoleAdmin", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceRole", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: { + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; +} + +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent< + [string, string, string], + RoleAdminChangedEventObject +>; + +export type RoleAdminChangedEventFilter = + TypedEventFilter; + +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent< + [string, string, string], + RoleGrantedEventObject +>; + +export type RoleGrantedEventFilter = TypedEventFilter; + +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent< + [string, string, string], + RoleRevokedEventObject +>; + +export type RoleRevokedEventFilter = TypedEventFilter; + +export interface AccessControl extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: AccessControlInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "RoleAdminChanged(bytes32,bytes32,bytes32)"( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + RoleAdminChanged( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + + "RoleGranted(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + RoleGranted( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + + "RoleRevoked(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + RoleRevoked( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + }; + + estimateGas: { + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + DEFAULT_ADMIN_ROLE( + overrides?: CallOverrides + ): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts b/src/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts new file mode 100644 index 0000000..b09e631 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/access/IAccessControl.ts @@ -0,0 +1,341 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IAccessControlInterface extends utils.Interface { + functions: { + "getRoleAdmin(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "getRoleAdmin" + | "grantRole" + | "hasRole" + | "renounceRole" + | "revokeRole" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getRoleAdmin", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "grantRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hasRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "renounceRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "getRoleAdmin", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceRole", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + + events: { + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; +} + +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent< + [string, string, string], + RoleAdminChangedEventObject +>; + +export type RoleAdminChangedEventFilter = + TypedEventFilter; + +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent< + [string, string, string], + RoleGrantedEventObject +>; + +export type RoleGrantedEventFilter = TypedEventFilter; + +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent< + [string, string, string], + RoleRevokedEventObject +>; + +export type RoleRevokedEventFilter = TypedEventFilter; + +export interface IAccessControl extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IAccessControlInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "RoleAdminChanged(bytes32,bytes32,bytes32)"( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + RoleAdminChanged( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + + "RoleGranted(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + RoleGranted( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + + "RoleRevoked(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + RoleRevoked( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + }; + + estimateGas: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/access/Ownable.ts b/src/typechain-types/@openzeppelin/contracts/access/Ownable.ts new file mode 100644 index 0000000..aaf0fb4 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/access/Ownable.ts @@ -0,0 +1,176 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface OwnableInterface extends utils.Interface { + functions: { + "owner()": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "owner" | "renounceOwnership" | "transferOwnership" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + + events: { + "OwnershipTransferred(address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; +} + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface Ownable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: OwnableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + owner(overrides?: CallOverrides): Promise<[string]>; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + }; + + estimateGas: { + owner(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + owner(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/access/index.ts b/src/typechain-types/@openzeppelin/contracts/access/index.ts new file mode 100644 index 0000000..7085889 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/access/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { AccessControl } from "./AccessControl"; +export type { IAccessControl } from "./IAccessControl"; +export type { Ownable } from "./Ownable"; diff --git a/src/typechain-types/@openzeppelin/contracts/governance/Governor.ts b/src/typechain-types/@openzeppelin/contracts/governance/Governor.ts new file mode 100644 index 0000000..8f6e0e0 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/Governor.ts @@ -0,0 +1,1331 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface GovernorInterface extends utils.Interface { + functions: { + "BALLOT_TYPEHASH()": FunctionFragment; + "COUNTING_MODE()": FunctionFragment; + "EXTENDED_BALLOT_TYPEHASH()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "proposalThreshold()": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "relay(address,uint256,bytes)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "BALLOT_TYPEHASH" + | "COUNTING_MODE" + | "EXTENDED_BALLOT_TYPEHASH" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "proposalDeadline" + | "proposalSnapshot" + | "proposalThreshold" + | "propose" + | "quorum" + | "relay" + | "state" + | "supportsInterface" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalThreshold", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "relay", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface Governor extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GovernorInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + }; + + estimateGas: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/IGovernor.ts b/src/typechain-types/@openzeppelin/contracts/governance/IGovernor.ts new file mode 100644 index 0000000..6051f10 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/IGovernor.ts @@ -0,0 +1,1046 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IGovernorInterface extends utils.Interface { + functions: { + "COUNTING_MODE()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "COUNTING_MODE" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "proposalDeadline" + | "proposalSnapshot" + | "propose" + | "quorum" + | "state" + | "supportsInterface" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface IGovernor extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IGovernorInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + }; + + estimateGas: { + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/TimelockController.ts b/src/typechain-types/@openzeppelin/contracts/governance/TimelockController.ts new file mode 100644 index 0000000..6153f4e --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/TimelockController.ts @@ -0,0 +1,1399 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface TimelockControllerInterface extends utils.Interface { + functions: { + "CANCELLER_ROLE()": FunctionFragment; + "DEFAULT_ADMIN_ROLE()": FunctionFragment; + "EXECUTOR_ROLE()": FunctionFragment; + "PROPOSER_ROLE()": FunctionFragment; + "TIMELOCK_ADMIN_ROLE()": FunctionFragment; + "cancel(bytes32)": FunctionFragment; + "execute(address,uint256,bytes,bytes32,bytes32)": FunctionFragment; + "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)": FunctionFragment; + "getMinDelay()": FunctionFragment; + "getRoleAdmin(bytes32)": FunctionFragment; + "getTimestamp(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "hashOperation(address,uint256,bytes,bytes32,bytes32)": FunctionFragment; + "hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)": FunctionFragment; + "isOperation(bytes32)": FunctionFragment; + "isOperationDone(bytes32)": FunctionFragment; + "isOperationPending(bytes32)": FunctionFragment; + "isOperationReady(bytes32)": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + "schedule(address,uint256,bytes,bytes32,bytes32,uint256)": FunctionFragment; + "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "updateDelay(uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "CANCELLER_ROLE" + | "DEFAULT_ADMIN_ROLE" + | "EXECUTOR_ROLE" + | "PROPOSER_ROLE" + | "TIMELOCK_ADMIN_ROLE" + | "cancel" + | "execute" + | "executeBatch" + | "getMinDelay" + | "getRoleAdmin" + | "getTimestamp" + | "grantRole" + | "hasRole" + | "hashOperation" + | "hashOperationBatch" + | "isOperation" + | "isOperationDone" + | "isOperationPending" + | "isOperationReady" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "renounceRole" + | "revokeRole" + | "schedule" + | "scheduleBatch" + | "supportsInterface" + | "updateDelay" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "CANCELLER_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DEFAULT_ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTOR_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSER_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "TIMELOCK_ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "cancel", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "executeBatch", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getMinDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getRoleAdmin", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTimestamp", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "grantRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hasRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashOperation", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hashOperationBatch", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "isOperation", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isOperationDone", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isOperationPending", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isOperationReady", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "renounceRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "schedule", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "scheduleBatch", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "updateDelay", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "CANCELLER_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DEFAULT_ADMIN_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTOR_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSER_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "TIMELOCK_ADMIN_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "cancel", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "executeBatch", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMinDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRoleAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashOperation", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "hashOperationBatch", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperation", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperationDone", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperationPending", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperationReady", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceRole", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "schedule", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "scheduleBatch", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateDelay", + data: BytesLike + ): Result; + + events: { + "CallExecuted(bytes32,uint256,address,uint256,bytes)": EventFragment; + "CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)": EventFragment; + "Cancelled(bytes32)": EventFragment; + "MinDelayChange(uint256,uint256)": EventFragment; + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "CallExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "CallScheduled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Cancelled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "MinDelayChange"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; +} + +export interface CallExecutedEventObject { + id: string; + index: BigNumber; + target: string; + value: BigNumber; + data: string; +} +export type CallExecutedEvent = TypedEvent< + [string, BigNumber, string, BigNumber, string], + CallExecutedEventObject +>; + +export type CallExecutedEventFilter = TypedEventFilter; + +export interface CallScheduledEventObject { + id: string; + index: BigNumber; + target: string; + value: BigNumber; + data: string; + predecessor: string; + delay: BigNumber; +} +export type CallScheduledEvent = TypedEvent< + [string, BigNumber, string, BigNumber, string, string, BigNumber], + CallScheduledEventObject +>; + +export type CallScheduledEventFilter = TypedEventFilter; + +export interface CancelledEventObject { + id: string; +} +export type CancelledEvent = TypedEvent<[string], CancelledEventObject>; + +export type CancelledEventFilter = TypedEventFilter; + +export interface MinDelayChangeEventObject { + oldDuration: BigNumber; + newDuration: BigNumber; +} +export type MinDelayChangeEvent = TypedEvent< + [BigNumber, BigNumber], + MinDelayChangeEventObject +>; + +export type MinDelayChangeEventFilter = TypedEventFilter; + +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent< + [string, string, string], + RoleAdminChangedEventObject +>; + +export type RoleAdminChangedEventFilter = + TypedEventFilter; + +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent< + [string, string, string], + RoleGrantedEventObject +>; + +export type RoleGrantedEventFilter = TypedEventFilter; + +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent< + [string, string, string], + RoleRevokedEventObject +>; + +export type RoleRevokedEventFilter = TypedEventFilter; + +export interface TimelockController extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: TimelockControllerInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise<[string]>; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise<[string]>; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise<[string]>; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay( + overrides?: CallOverrides + ): Promise<[BigNumber] & { duration: BigNumber }>; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { timestamp: BigNumber }>; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { hash: string }>; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { hash: string }>; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { pending: boolean }>; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { done: boolean }>; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { pending: boolean }>; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { ready: boolean }>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + cancel( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "CallExecuted(bytes32,uint256,address,uint256,bytes)"( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null + ): CallExecutedEventFilter; + CallExecuted( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null + ): CallExecutedEventFilter; + + "CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)"( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null, + predecessor?: null, + delay?: null + ): CallScheduledEventFilter; + CallScheduled( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null, + predecessor?: null, + delay?: null + ): CallScheduledEventFilter; + + "Cancelled(bytes32)"( + id?: PromiseOrValue | null + ): CancelledEventFilter; + Cancelled(id?: PromiseOrValue | null): CancelledEventFilter; + + "MinDelayChange(uint256,uint256)"( + oldDuration?: null, + newDuration?: null + ): MinDelayChangeEventFilter; + MinDelayChange( + oldDuration?: null, + newDuration?: null + ): MinDelayChangeEventFilter; + + "RoleAdminChanged(bytes32,bytes32,bytes32)"( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + RoleAdminChanged( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + + "RoleGranted(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + RoleGranted( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + + "RoleRevoked(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + RoleRevoked( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + }; + + estimateGas: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE( + overrides?: CallOverrides + ): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE( + overrides?: CallOverrides + ): Promise; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.ts b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.ts new file mode 100644 index 0000000..0b6e5b8 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.ts @@ -0,0 +1,1384 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface GovernorCountingSimpleInterface extends utils.Interface { + functions: { + "BALLOT_TYPEHASH()": FunctionFragment; + "COUNTING_MODE()": FunctionFragment; + "EXTENDED_BALLOT_TYPEHASH()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "proposalThreshold()": FunctionFragment; + "proposalVotes(uint256)": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "relay(address,uint256,bytes)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "BALLOT_TYPEHASH" + | "COUNTING_MODE" + | "EXTENDED_BALLOT_TYPEHASH" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "proposalDeadline" + | "proposalSnapshot" + | "proposalThreshold" + | "proposalVotes" + | "propose" + | "quorum" + | "relay" + | "state" + | "supportsInterface" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalThreshold", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposalVotes", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "relay", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalVotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface GovernorCountingSimple extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GovernorCountingSimpleInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + againstVotes: BigNumber; + forVotes: BigNumber; + abstainVotes: BigNumber; + } + >; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + againstVotes: BigNumber; + forVotes: BigNumber; + abstainVotes: BigNumber; + } + >; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + againstVotes: BigNumber; + forVotes: BigNumber; + abstainVotes: BigNumber; + } + >; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + }; + + estimateGas: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorSettings.ts b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorSettings.ts new file mode 100644 index 0000000..c030e01 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorSettings.ts @@ -0,0 +1,1503 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface GovernorSettingsInterface extends utils.Interface { + functions: { + "BALLOT_TYPEHASH()": FunctionFragment; + "COUNTING_MODE()": FunctionFragment; + "EXTENDED_BALLOT_TYPEHASH()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "proposalThreshold()": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "relay(address,uint256,bytes)": FunctionFragment; + "setProposalThreshold(uint256)": FunctionFragment; + "setVotingDelay(uint256)": FunctionFragment; + "setVotingPeriod(uint256)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "BALLOT_TYPEHASH" + | "COUNTING_MODE" + | "EXTENDED_BALLOT_TYPEHASH" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "proposalDeadline" + | "proposalSnapshot" + | "proposalThreshold" + | "propose" + | "quorum" + | "relay" + | "setProposalThreshold" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "supportsInterface" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalThreshold", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "relay", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "ProposalThresholdSet(uint256,uint256)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + "VotingDelaySet(uint256,uint256)": EventFragment; + "VotingPeriodSet(uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalThresholdSet"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VotingDelaySet"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VotingPeriodSet"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface ProposalThresholdSetEventObject { + oldProposalThreshold: BigNumber; + newProposalThreshold: BigNumber; +} +export type ProposalThresholdSetEvent = TypedEvent< + [BigNumber, BigNumber], + ProposalThresholdSetEventObject +>; + +export type ProposalThresholdSetEventFilter = + TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface VotingDelaySetEventObject { + oldVotingDelay: BigNumber; + newVotingDelay: BigNumber; +} +export type VotingDelaySetEvent = TypedEvent< + [BigNumber, BigNumber], + VotingDelaySetEventObject +>; + +export type VotingDelaySetEventFilter = TypedEventFilter; + +export interface VotingPeriodSetEventObject { + oldVotingPeriod: BigNumber; + newVotingPeriod: BigNumber; +} +export type VotingPeriodSetEvent = TypedEvent< + [BigNumber, BigNumber], + VotingPeriodSetEventObject +>; + +export type VotingPeriodSetEventFilter = TypedEventFilter; + +export interface GovernorSettings extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GovernorSettingsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "ProposalThresholdSet(uint256,uint256)"( + oldProposalThreshold?: null, + newProposalThreshold?: null + ): ProposalThresholdSetEventFilter; + ProposalThresholdSet( + oldProposalThreshold?: null, + newProposalThreshold?: null + ): ProposalThresholdSetEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + + "VotingDelaySet(uint256,uint256)"( + oldVotingDelay?: null, + newVotingDelay?: null + ): VotingDelaySetEventFilter; + VotingDelaySet( + oldVotingDelay?: null, + newVotingDelay?: null + ): VotingDelaySetEventFilter; + + "VotingPeriodSet(uint256,uint256)"( + oldVotingPeriod?: null, + newVotingPeriod?: null + ): VotingPeriodSetEventFilter; + VotingPeriodSet( + oldVotingPeriod?: null, + newVotingPeriod?: null + ): VotingPeriodSetEventFilter; + }; + + estimateGas: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.ts b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.ts new file mode 100644 index 0000000..c0dc525 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.ts @@ -0,0 +1,1508 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface GovernorTimelockControlInterface extends utils.Interface { + functions: { + "BALLOT_TYPEHASH()": FunctionFragment; + "COUNTING_MODE()": FunctionFragment; + "EXTENDED_BALLOT_TYPEHASH()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalEta(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "proposalThreshold()": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "queue(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "relay(address,uint256,bytes)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "timelock()": FunctionFragment; + "updateTimelock(address)": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "BALLOT_TYPEHASH" + | "COUNTING_MODE" + | "EXTENDED_BALLOT_TYPEHASH" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "proposalDeadline" + | "proposalEta" + | "proposalSnapshot" + | "proposalThreshold" + | "propose" + | "queue" + | "quorum" + | "relay" + | "state" + | "supportsInterface" + | "timelock" + | "updateTimelock" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalEta", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalThreshold", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "queue", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "relay", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateTimelock", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalEta", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "queue", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "ProposalQueued(uint256,uint256)": EventFragment; + "TimelockChange(address,address)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalQueued"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TimelockChange"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface ProposalQueuedEventObject { + proposalId: BigNumber; + eta: BigNumber; +} +export type ProposalQueuedEvent = TypedEvent< + [BigNumber, BigNumber], + ProposalQueuedEventObject +>; + +export type ProposalQueuedEventFilter = TypedEventFilter; + +export interface TimelockChangeEventObject { + oldTimelock: string; + newTimelock: string; +} +export type TimelockChangeEvent = TypedEvent< + [string, string], + TimelockChangeEventObject +>; + +export type TimelockChangeEventFilter = TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface GovernorTimelockControl extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GovernorTimelockControlInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + timelock(overrides?: CallOverrides): Promise<[string]>; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "ProposalQueued(uint256,uint256)"( + proposalId?: null, + eta?: null + ): ProposalQueuedEventFilter; + ProposalQueued(proposalId?: null, eta?: null): ProposalQueuedEventFilter; + + "TimelockChange(address,address)"( + oldTimelock?: null, + newTimelock?: null + ): TimelockChangeEventFilter; + TimelockChange( + oldTimelock?: null, + newTimelock?: null + ): TimelockChangeEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + }; + + estimateGas: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotes.ts b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotes.ts new file mode 100644 index 0000000..bf640b7 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotes.ts @@ -0,0 +1,1345 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface GovernorVotesInterface extends utils.Interface { + functions: { + "BALLOT_TYPEHASH()": FunctionFragment; + "COUNTING_MODE()": FunctionFragment; + "EXTENDED_BALLOT_TYPEHASH()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "proposalThreshold()": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "relay(address,uint256,bytes)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "token()": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "BALLOT_TYPEHASH" + | "COUNTING_MODE" + | "EXTENDED_BALLOT_TYPEHASH" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "proposalDeadline" + | "proposalSnapshot" + | "proposalThreshold" + | "propose" + | "quorum" + | "relay" + | "state" + | "supportsInterface" + | "token" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalThreshold", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "relay", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface GovernorVotes extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GovernorVotesInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + token(overrides?: CallOverrides): Promise<[string]>; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + }; + + estimateGas: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.ts b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.ts new file mode 100644 index 0000000..73186ce --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.ts @@ -0,0 +1,1443 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface GovernorVotesQuorumFractionInterface extends utils.Interface { + functions: { + "BALLOT_TYPEHASH()": FunctionFragment; + "COUNTING_MODE()": FunctionFragment; + "EXTENDED_BALLOT_TYPEHASH()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "proposalThreshold()": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "quorumDenominator()": FunctionFragment; + "quorumNumerator()": FunctionFragment; + "relay(address,uint256,bytes)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "token()": FunctionFragment; + "updateQuorumNumerator(uint256)": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "BALLOT_TYPEHASH" + | "COUNTING_MODE" + | "EXTENDED_BALLOT_TYPEHASH" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "proposalDeadline" + | "proposalSnapshot" + | "proposalThreshold" + | "propose" + | "quorum" + | "quorumDenominator" + | "quorumNumerator" + | "relay" + | "state" + | "supportsInterface" + | "token" + | "updateQuorumNumerator" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalThreshold", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "quorumDenominator", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quorumNumerator", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "relay", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateQuorumNumerator", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "quorumDenominator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "quorumNumerator", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateQuorumNumerator", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "QuorumNumeratorUpdated(uint256,uint256)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "QuorumNumeratorUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface QuorumNumeratorUpdatedEventObject { + oldQuorumNumerator: BigNumber; + newQuorumNumerator: BigNumber; +} +export type QuorumNumeratorUpdatedEvent = TypedEvent< + [BigNumber, BigNumber], + QuorumNumeratorUpdatedEventObject +>; + +export type QuorumNumeratorUpdatedEventFilter = + TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface GovernorVotesQuorumFraction extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GovernorVotesQuorumFractionInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + quorumDenominator(overrides?: CallOverrides): Promise<[BigNumber]>; + + quorumNumerator(overrides?: CallOverrides): Promise<[BigNumber]>; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + token(overrides?: CallOverrides): Promise<[string]>; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "QuorumNumeratorUpdated(uint256,uint256)"( + oldQuorumNumerator?: null, + newQuorumNumerator?: null + ): QuorumNumeratorUpdatedEventFilter; + QuorumNumeratorUpdated( + oldQuorumNumerator?: null, + newQuorumNumerator?: null + ): QuorumNumeratorUpdatedEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + }; + + estimateGas: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + token(overrides?: CallOverrides): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.ts b/src/typechain-types/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.ts new file mode 100644 index 0000000..b3183a0 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.ts @@ -0,0 +1,1166 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IGovernorTimelockInterface extends utils.Interface { + functions: { + "COUNTING_MODE()": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalEta(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "queue(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "timelock()": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "COUNTING_MODE" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "proposalDeadline" + | "proposalEta" + | "proposalSnapshot" + | "propose" + | "queue" + | "quorum" + | "state" + | "supportsInterface" + | "timelock" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalEta", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "queue", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalEta", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "queue", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "ProposalQueued(uint256,uint256)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalQueued"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface ProposalQueuedEventObject { + proposalId: BigNumber; + eta: BigNumber; +} +export type ProposalQueuedEvent = TypedEvent< + [BigNumber, BigNumber], + ProposalQueuedEventObject +>; + +export type ProposalQueuedEventFilter = TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface IGovernorTimelock extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IGovernorTimelockInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + timelock(overrides?: CallOverrides): Promise<[string]>; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "ProposalQueued(uint256,uint256)"( + proposalId?: null, + eta?: null + ): ProposalQueuedEventFilter; + ProposalQueued(proposalId?: null, eta?: null): ProposalQueuedEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + }; + + estimateGas: { + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + COUNTING_MODE(overrides?: CallOverrides): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/extensions/index.ts b/src/typechain-types/@openzeppelin/contracts/governance/extensions/index.ts new file mode 100644 index 0000000..7e2f345 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/extensions/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { GovernorCountingSimple } from "./GovernorCountingSimple"; +export type { GovernorSettings } from "./GovernorSettings"; +export type { GovernorTimelockControl } from "./GovernorTimelockControl"; +export type { GovernorVotes } from "./GovernorVotes"; +export type { GovernorVotesQuorumFraction } from "./GovernorVotesQuorumFraction"; +export type { IGovernorTimelock } from "./IGovernorTimelock"; diff --git a/src/typechain-types/@openzeppelin/contracts/governance/index.ts b/src/typechain-types/@openzeppelin/contracts/governance/index.ts new file mode 100644 index 0000000..60e1f0d --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as extensions from "./extensions"; +export type { extensions }; +import type * as utils from "./utils"; +export type { utils }; +export type { Governor } from "./Governor"; +export type { IGovernor } from "./IGovernor"; +export type { TimelockController } from "./TimelockController"; diff --git a/src/typechain-types/@openzeppelin/contracts/governance/utils/IVotes.ts b/src/typechain-types/@openzeppelin/contracts/governance/utils/IVotes.ts new file mode 100644 index 0000000..6c8c7ae --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/utils/IVotes.ts @@ -0,0 +1,369 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IVotesInterface extends utils.Interface { + functions: { + "delegate(address)": FunctionFragment; + "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "delegates(address)": FunctionFragment; + "getPastTotalSupply(uint256)": FunctionFragment; + "getPastVotes(address,uint256)": FunctionFragment; + "getVotes(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "delegate" + | "delegateBySig" + | "delegates" + | "getPastTotalSupply" + | "getPastVotes" + | "getVotes" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "delegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegates", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastTotalSupply", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegateBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegates", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getPastTotalSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPastVotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + + events: { + "DelegateChanged(address,address,address)": EventFragment; + "DelegateVotesChanged(address,uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DelegateChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateVotesChanged"): EventFragment; +} + +export interface DelegateChangedEventObject { + delegator: string; + fromDelegate: string; + toDelegate: string; +} +export type DelegateChangedEvent = TypedEvent< + [string, string, string], + DelegateChangedEventObject +>; + +export type DelegateChangedEventFilter = TypedEventFilter; + +export interface DelegateVotesChangedEventObject { + delegate: string; + previousBalance: BigNumber; + newBalance: BigNumber; +} +export type DelegateVotesChangedEvent = TypedEvent< + [string, BigNumber, BigNumber], + DelegateVotesChangedEventObject +>; + +export type DelegateVotesChangedEventFilter = + TypedEventFilter; + +export interface IVotes extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IVotesInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + }; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + delegate( + delegatee: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DelegateChanged(address,address,address)"( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + DelegateChanged( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + + "DelegateVotesChanged(address,uint256,uint256)"( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + DelegateVotesChanged( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + }; + + estimateGas: { + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/governance/utils/index.ts b/src/typechain-types/@openzeppelin/contracts/governance/utils/index.ts new file mode 100644 index 0000000..3ffebbd --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/governance/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IVotes } from "./IVotes"; diff --git a/src/typechain-types/@openzeppelin/contracts/index.ts b/src/typechain-types/@openzeppelin/contracts/index.ts new file mode 100644 index 0000000..964b861 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as access from "./access"; +export type { access }; +import type * as governance from "./governance"; +export type { governance }; +import type * as token from "./token"; +export type { token }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.ts new file mode 100644 index 0000000..7da245c --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.ts @@ -0,0 +1,231 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IERC1155ReceiverInterface extends utils.Interface { + functions: { + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "onERC1155BatchReceived" + | "onERC1155Received" + | "supportsInterface" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IERC1155Receiver extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC1155ReceiverInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + onERC1155BatchReceived( + operator: PromiseOrValue, + from: PromiseOrValue, + ids: PromiseOrValue[], + values: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + operator: PromiseOrValue, + from: PromiseOrValue, + id: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + onERC1155BatchReceived( + operator: PromiseOrValue, + from: PromiseOrValue, + ids: PromiseOrValue[], + values: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + operator: PromiseOrValue, + from: PromiseOrValue, + id: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + onERC1155BatchReceived( + operator: PromiseOrValue, + from: PromiseOrValue, + ids: PromiseOrValue[], + values: PromiseOrValue[], + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + operator: PromiseOrValue, + from: PromiseOrValue, + id: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + onERC1155BatchReceived( + operator: PromiseOrValue, + from: PromiseOrValue, + ids: PromiseOrValue[], + values: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + operator: PromiseOrValue, + from: PromiseOrValue, + id: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + onERC1155BatchReceived( + operator: PromiseOrValue, + from: PromiseOrValue, + ids: PromiseOrValue[], + values: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + operator: PromiseOrValue, + from: PromiseOrValue, + id: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC1155/index.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC1155/index.ts new file mode 100644 index 0000000..0300251 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC1155/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC1155Receiver } from "./IERC1155Receiver"; diff --git a/src/artifacts/types/ERC20.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts similarity index 99% rename from src/artifacts/types/ERC20.ts rename to src/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts index 7f0f99c..682e3cf 100644 --- a/src/artifacts/types/ERC20.ts +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts @@ -25,7 +25,7 @@ import type { TypedListener, OnEvent, PromiseOrValue, -} from "./common"; +} from "../../../../common"; export interface ERC20Interface extends utils.Interface { functions: { diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts new file mode 100644 index 0000000..e99e80b --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts @@ -0,0 +1,342 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IERC20Interface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface IERC20 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.ts new file mode 100644 index 0000000..46a7ad1 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.ts @@ -0,0 +1,962 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../../common"; + +export declare namespace ERC20Votes { + export type CheckpointStruct = { + fromBlock: PromiseOrValue; + votes: PromiseOrValue; + }; + + export type CheckpointStructOutput = [number, BigNumber] & { + fromBlock: number; + votes: BigNumber; + }; +} + +export interface ERC20VotesInterface extends utils.Interface { + functions: { + "DOMAIN_SEPARATOR()": FunctionFragment; + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "checkpoints(address,uint32)": FunctionFragment; + "decimals()": FunctionFragment; + "decreaseAllowance(address,uint256)": FunctionFragment; + "delegate(address)": FunctionFragment; + "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "delegates(address)": FunctionFragment; + "getPastTotalSupply(uint256)": FunctionFragment; + "getPastVotes(address,uint256)": FunctionFragment; + "getVotes(address)": FunctionFragment; + "increaseAllowance(address,uint256)": FunctionFragment; + "name()": FunctionFragment; + "nonces(address)": FunctionFragment; + "numCheckpoints(address)": FunctionFragment; + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "symbol()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "checkpoints" + | "decimals" + | "decreaseAllowance" + | "delegate" + | "delegateBySig" + | "delegates" + | "getPastTotalSupply" + | "getPastVotes" + | "getVotes" + | "increaseAllowance" + | "name" + | "nonces" + | "numCheckpoints" + | "permit" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "checkpoints", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegates", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastTotalSupply", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "nonces", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "numCheckpoints", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "checkpoints", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegateBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegates", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getPastTotalSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPastVotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "numCheckpoints", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "DelegateChanged(address,address,address)": EventFragment; + "DelegateVotesChanged(address,uint256,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateVotesChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface DelegateChangedEventObject { + delegator: string; + fromDelegate: string; + toDelegate: string; +} +export type DelegateChangedEvent = TypedEvent< + [string, string, string], + DelegateChangedEventObject +>; + +export type DelegateChangedEventFilter = TypedEventFilter; + +export interface DelegateVotesChangedEventObject { + delegate: string; + previousBalance: BigNumber; + newBalance: BigNumber; +} +export type DelegateVotesChangedEvent = TypedEvent< + [string, BigNumber, BigNumber], + DelegateVotesChangedEventObject +>; + +export type DelegateVotesChangedEventFilter = + TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface ERC20Votes extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC20VotesInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[ERC20Votes.CheckpointStructOutput]>; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise<[string]>; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "DelegateChanged(address,address,address)"( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + DelegateChanged( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + + "DelegateVotesChanged(address,uint256,uint256)"( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + DelegateVotesChanged( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts new file mode 100644 index 0000000..7a94b72 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts @@ -0,0 +1,384 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../../common"; + +export interface IERC20MetadataInterface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "decimals()": FunctionFragment; + "name()": FunctionFragment; + "symbol()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface IERC20Metadata extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC20MetadataInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit.ts new file mode 100644 index 0000000..3ea26e0 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit.ts @@ -0,0 +1,586 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../../../common"; + +export interface ERC20PermitInterface extends utils.Interface { + functions: { + "DOMAIN_SEPARATOR()": FunctionFragment; + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "decimals()": FunctionFragment; + "decreaseAllowance(address,uint256)": FunctionFragment; + "increaseAllowance(address,uint256)": FunctionFragment; + "name()": FunctionFragment; + "nonces(address)": FunctionFragment; + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "symbol()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "increaseAllowance" + | "name" + | "nonces" + | "permit" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "nonces", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface ERC20Permit extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC20PermitInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise<[string]>; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts new file mode 100644 index 0000000..1e61747 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20Permit } from "./ERC20Permit"; diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.ts new file mode 100644 index 0000000..836ee60 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.ts @@ -0,0 +1,193 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../../../common"; + +export interface IERC20PermitInterface extends utils.Interface { + functions: { + "DOMAIN_SEPARATOR()": FunctionFragment; + "nonces(address)": FunctionFragment; + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "DOMAIN_SEPARATOR" | "nonces" | "permit" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "nonces", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + + events: {}; +} + +export interface IERC20Permit extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC20PermitInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts new file mode 100644 index 0000000..6673dc7 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Permit } from "./IERC20Permit"; diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 0000000..aa9c8af --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as draftErc20PermitSol from "./draft-ERC20Permit.sol"; +export type { draftErc20PermitSol }; +import type * as draftIerc20PermitSol from "./draft-IERC20Permit.sol"; +export type { draftIerc20PermitSol }; +export type { ERC20Votes } from "./ERC20Votes"; +export type { IERC20Metadata } from "./IERC20Metadata"; diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts new file mode 100644 index 0000000..cc19697 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as extensions from "./extensions"; +export type { extensions }; +export type { ERC20 } from "./ERC20"; +export type { IERC20 } from "./IERC20"; diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts new file mode 100644 index 0000000..29adc89 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC721/IERC721Receiver.ts @@ -0,0 +1,126 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IERC721ReceiverInterface extends utils.Interface { + functions: { + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "onERC721Received"): FunctionFragment; + + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IERC721Receiver extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC721ReceiverInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + onERC721Received( + operator: PromiseOrValue, + from: PromiseOrValue, + tokenId: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + onERC721Received( + operator: PromiseOrValue, + from: PromiseOrValue, + tokenId: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + onERC721Received( + operator: PromiseOrValue, + from: PromiseOrValue, + tokenId: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + onERC721Received( + operator: PromiseOrValue, + from: PromiseOrValue, + tokenId: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + onERC721Received( + operator: PromiseOrValue, + from: PromiseOrValue, + tokenId: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts b/src/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts new file mode 100644 index 0000000..dd183b2 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/ERC721/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC721Receiver } from "./IERC721Receiver"; diff --git a/src/typechain-types/@openzeppelin/contracts/token/index.ts b/src/typechain-types/@openzeppelin/contracts/token/index.ts new file mode 100644 index 0000000..15b460a --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/token/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc1155 from "./ERC1155"; +export type { erc1155 }; +import type * as erc20 from "./ERC20"; +export type { erc20 }; +import type * as erc721 from "./ERC721"; +export type { erc721 }; diff --git a/src/typechain-types/@openzeppelin/contracts/utils/index.ts b/src/typechain-types/@openzeppelin/contracts/utils/index.ts new file mode 100644 index 0000000..601d643 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/utils/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as introspection from "./introspection"; +export type { introspection }; +import type * as structs from "./structs"; +export type { structs }; diff --git a/src/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts b/src/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts new file mode 100644 index 0000000..26c42e0 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/utils/introspection/ERC165.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface ERC165Interface extends utils.Interface { + functions: { + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "supportsInterface"): FunctionFragment; + + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ERC165 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ERC165Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts b/src/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts new file mode 100644 index 0000000..010603d --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/utils/introspection/IERC165.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IERC165Interface extends utils.Interface { + functions: { + "supportsInterface(bytes4)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "supportsInterface"): FunctionFragment; + + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IERC165 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC165Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts b/src/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts new file mode 100644 index 0000000..d7fccec --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/utils/introspection/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC165 } from "./ERC165"; +export type { IERC165 } from "./IERC165"; diff --git a/src/typechain-types/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.ts b/src/typechain-types/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.ts new file mode 100644 index 0000000..39c03bf --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/utils/structs/DoubleEndedQueue.ts @@ -0,0 +1,56 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { BaseContract, Signer, utils } from "ethers"; + +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface DoubleEndedQueueInterface extends utils.Interface { + functions: {}; + + events: {}; +} + +export interface DoubleEndedQueue extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: DoubleEndedQueueInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: {}; + + callStatic: {}; + + filters: {}; + + estimateGas: {}; + + populateTransaction: {}; +} diff --git a/src/typechain-types/@openzeppelin/contracts/utils/structs/index.ts b/src/typechain-types/@openzeppelin/contracts/utils/structs/index.ts new file mode 100644 index 0000000..c594191 --- /dev/null +++ b/src/typechain-types/@openzeppelin/contracts/utils/structs/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { DoubleEndedQueue } from "./DoubleEndedQueue"; diff --git a/src/typechain-types/@openzeppelin/index.ts b/src/typechain-types/@openzeppelin/index.ts new file mode 100644 index 0000000..f34b877 --- /dev/null +++ b/src/typechain-types/@openzeppelin/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; +import type * as contractsUpgradeable from "./contracts-upgradeable"; +export type { contractsUpgradeable }; diff --git a/src/typechain-types/@uniswap/index.ts b/src/typechain-types/@uniswap/index.ts new file mode 100644 index 0000000..620b30b --- /dev/null +++ b/src/typechain-types/@uniswap/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as v3Core from "./v3-core"; +export type { v3Core }; +import type * as v3Periphery from "./v3-periphery"; +export type { v3Periphery }; diff --git a/src/typechain-types/@uniswap/v3-core/contracts/index.ts b/src/typechain-types/@uniswap/v3-core/contracts/index.ts new file mode 100644 index 0000000..9215923 --- /dev/null +++ b/src/typechain-types/@uniswap/v3-core/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.ts b/src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.ts new file mode 100644 index 0000000..3d98d31 --- /dev/null +++ b/src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.ts @@ -0,0 +1,122 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../../common"; + +export interface IUniswapV3SwapCallbackInterface extends utils.Interface { + functions: { + "uniswapV3SwapCallback(int256,int256,bytes)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "uniswapV3SwapCallback" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "uniswapV3SwapCallback", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "uniswapV3SwapCallback", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IUniswapV3SwapCallback extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IUniswapV3SwapCallbackInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/index.ts b/src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/index.ts new file mode 100644 index 0000000..c552691 --- /dev/null +++ b/src/typechain-types/@uniswap/v3-core/contracts/interfaces/callback/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IUniswapV3SwapCallback } from "./IUniswapV3SwapCallback"; diff --git a/src/typechain-types/@uniswap/v3-core/contracts/interfaces/index.ts b/src/typechain-types/@uniswap/v3-core/contracts/interfaces/index.ts new file mode 100644 index 0000000..3b69c53 --- /dev/null +++ b/src/typechain-types/@uniswap/v3-core/contracts/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as callback from "./callback"; +export type { callback }; diff --git a/src/typechain-types/@uniswap/v3-core/index.ts b/src/typechain-types/@uniswap/v3-core/index.ts new file mode 100644 index 0000000..a11e4ca --- /dev/null +++ b/src/typechain-types/@uniswap/v3-core/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/src/typechain-types/@uniswap/v3-periphery/contracts/index.ts b/src/typechain-types/@uniswap/v3-periphery/contracts/index.ts new file mode 100644 index 0000000..9215923 --- /dev/null +++ b/src/typechain-types/@uniswap/v3-periphery/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.ts b/src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.ts new file mode 100644 index 0000000..fc323ea --- /dev/null +++ b/src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.ts @@ -0,0 +1,369 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export declare namespace ISwapRouter { + export type ExactInputParamsStruct = { + path: PromiseOrValue; + recipient: PromiseOrValue; + deadline: PromiseOrValue; + amountIn: PromiseOrValue; + amountOutMinimum: PromiseOrValue; + }; + + export type ExactInputParamsStructOutput = [ + string, + string, + BigNumber, + BigNumber, + BigNumber + ] & { + path: string; + recipient: string; + deadline: BigNumber; + amountIn: BigNumber; + amountOutMinimum: BigNumber; + }; + + export type ExactInputSingleParamsStruct = { + tokenIn: PromiseOrValue; + tokenOut: PromiseOrValue; + fee: PromiseOrValue; + recipient: PromiseOrValue; + deadline: PromiseOrValue; + amountIn: PromiseOrValue; + amountOutMinimum: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + }; + + export type ExactInputSingleParamsStructOutput = [ + string, + string, + number, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber + ] & { + tokenIn: string; + tokenOut: string; + fee: number; + recipient: string; + deadline: BigNumber; + amountIn: BigNumber; + amountOutMinimum: BigNumber; + sqrtPriceLimitX96: BigNumber; + }; + + export type ExactOutputParamsStruct = { + path: PromiseOrValue; + recipient: PromiseOrValue; + deadline: PromiseOrValue; + amountOut: PromiseOrValue; + amountInMaximum: PromiseOrValue; + }; + + export type ExactOutputParamsStructOutput = [ + string, + string, + BigNumber, + BigNumber, + BigNumber + ] & { + path: string; + recipient: string; + deadline: BigNumber; + amountOut: BigNumber; + amountInMaximum: BigNumber; + }; + + export type ExactOutputSingleParamsStruct = { + tokenIn: PromiseOrValue; + tokenOut: PromiseOrValue; + fee: PromiseOrValue; + recipient: PromiseOrValue; + deadline: PromiseOrValue; + amountOut: PromiseOrValue; + amountInMaximum: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + }; + + export type ExactOutputSingleParamsStructOutput = [ + string, + string, + number, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber + ] & { + tokenIn: string; + tokenOut: string; + fee: number; + recipient: string; + deadline: BigNumber; + amountOut: BigNumber; + amountInMaximum: BigNumber; + sqrtPriceLimitX96: BigNumber; + }; +} + +export interface ISwapRouterInterface extends utils.Interface { + functions: { + "exactInput((bytes,address,uint256,uint256,uint256))": FunctionFragment; + "exactInputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": FunctionFragment; + "exactOutput((bytes,address,uint256,uint256,uint256))": FunctionFragment; + "exactOutputSingle((address,address,uint24,address,uint256,uint256,uint256,uint160))": FunctionFragment; + "uniswapV3SwapCallback(int256,int256,bytes)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "exactInput" + | "exactInputSingle" + | "exactOutput" + | "exactOutputSingle" + | "uniswapV3SwapCallback" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "exactInput", + values: [ISwapRouter.ExactInputParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "exactInputSingle", + values: [ISwapRouter.ExactInputSingleParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "exactOutput", + values: [ISwapRouter.ExactOutputParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "exactOutputSingle", + values: [ISwapRouter.ExactOutputSingleParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "uniswapV3SwapCallback", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "exactInput", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "exactInputSingle", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "exactOutput", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "exactOutputSingle", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "uniswapV3SwapCallback", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ISwapRouter extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ISwapRouterInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + exactInput( + params: ISwapRouter.ExactInputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactInputSingle( + params: ISwapRouter.ExactInputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutput( + params: ISwapRouter.ExactOutputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutputSingle( + params: ISwapRouter.ExactOutputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + exactInput( + params: ISwapRouter.ExactInputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactInputSingle( + params: ISwapRouter.ExactInputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutput( + params: ISwapRouter.ExactOutputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutputSingle( + params: ISwapRouter.ExactOutputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + exactInput( + params: ISwapRouter.ExactInputParamsStruct, + overrides?: CallOverrides + ): Promise; + + exactInputSingle( + params: ISwapRouter.ExactInputSingleParamsStruct, + overrides?: CallOverrides + ): Promise; + + exactOutput( + params: ISwapRouter.ExactOutputParamsStruct, + overrides?: CallOverrides + ): Promise; + + exactOutputSingle( + params: ISwapRouter.ExactOutputSingleParamsStruct, + overrides?: CallOverrides + ): Promise; + + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + exactInput( + params: ISwapRouter.ExactInputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactInputSingle( + params: ISwapRouter.ExactInputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutput( + params: ISwapRouter.ExactOutputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutputSingle( + params: ISwapRouter.ExactOutputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + exactInput( + params: ISwapRouter.ExactInputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactInputSingle( + params: ISwapRouter.ExactInputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutput( + params: ISwapRouter.ExactOutputParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + exactOutputSingle( + params: ISwapRouter.ExactOutputSingleParamsStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + uniswapV3SwapCallback( + amount0Delta: PromiseOrValue, + amount1Delta: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/index.ts b/src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/index.ts new file mode 100644 index 0000000..0286eeb --- /dev/null +++ b/src/typechain-types/@uniswap/v3-periphery/contracts/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ISwapRouter } from "./ISwapRouter"; diff --git a/src/typechain-types/@uniswap/v3-periphery/index.ts b/src/typechain-types/@uniswap/v3-periphery/index.ts new file mode 100644 index 0000000..a11e4ca --- /dev/null +++ b/src/typechain-types/@uniswap/v3-periphery/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/src/artifacts/types/common.ts b/src/typechain-types/common.ts similarity index 100% rename from src/artifacts/types/common.ts rename to src/typechain-types/common.ts diff --git a/src/typechain-types/contracts/core/IUXDController.ts b/src/typechain-types/contracts/core/IUXDController.ts new file mode 100644 index 0000000..8b3aa8b --- /dev/null +++ b/src/typechain-types/contracts/core/IUXDController.ts @@ -0,0 +1,200 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface IUXDControllerInterface extends utils.Interface { + functions: { + "mint(address,uint256,uint256,address)": FunctionFragment; + "redeem(address,uint256,uint256,address)": FunctionFragment; + "redeemable()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "mint" | "redeem" | "redeemable" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "mint", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "redeemable", + values?: undefined + ): string; + + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeemable", data: BytesLike): Result; + + events: {}; +} + +export interface IUXDController extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IUXDControllerInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + mint( + asset: PromiseOrValue, + amount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAssetAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + mint( + asset: PromiseOrValue, + amount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAssetAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + mint( + asset: PromiseOrValue, + amount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAssetAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + mint( + asset: PromiseOrValue, + amount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAssetAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + mint( + asset: PromiseOrValue, + amount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAssetAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/core/IUXDRouter.ts b/src/typechain-types/contracts/core/IUXDRouter.ts new file mode 100644 index 0000000..ed7f028 --- /dev/null +++ b/src/typechain-types/contracts/core/IUXDRouter.ts @@ -0,0 +1,234 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface IUXDRouterInterface extends utils.Interface { + functions: { + "findDepositoryForAssetDeposit(address,uint256)": FunctionFragment; + "findDepositoryForRedeem(address,uint256)": FunctionFragment; + "registerDepository(address,address)": FunctionFragment; + "unregisterDepository(address,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "findDepositoryForAssetDeposit" + | "findDepositoryForRedeem" + | "registerDepository" + | "unregisterDepository" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "findDepositoryForAssetDeposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "findDepositoryForRedeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "registerDepository", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "unregisterDepository", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "findDepositoryForAssetDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "findDepositoryForRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "registerDepository", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unregisterDepository", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IUXDRouter extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IUXDRouterInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + findDepositoryForAssetDeposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + findDepositoryForRedeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + registerDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + findDepositoryForAssetDeposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + findDepositoryForAssetDeposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + findDepositoryForAssetDeposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + findDepositoryForAssetDeposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + asset: PromiseOrValue, + redeemAmount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + registerDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + asset: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/artifacts/types/UXDController.ts b/src/typechain-types/contracts/core/UXDController.ts similarity index 68% rename from src/artifacts/types/UXDController.ts rename to src/typechain-types/contracts/core/UXDController.ts index ae826fe..14b708e 100644 --- a/src/artifacts/types/UXDController.ts +++ b/src/typechain-types/contracts/core/UXDController.ts @@ -26,71 +26,61 @@ import type { TypedListener, OnEvent, PromiseOrValue, -} from "./common"; +} from "../../common"; export interface UXDControllerInterface extends utils.Interface { functions: { "VERSION()": FunctionFragment; - "collateralList(uint256)": FunctionFragment; - "collateralTokens(address)": FunctionFragment; + "assetList(uint256)": FunctionFragment; "initialize(address)": FunctionFragment; - "mint(address,uint256,uint160)": FunctionFragment; - "mintWithEth(uint160)": FunctionFragment; + "mint(address,uint256,uint256,address)": FunctionFragment; + "mintWithEth(uint256,address)": FunctionFragment; "owner()": FunctionFragment; "proxiableUUID()": FunctionFragment; - "quoteMint(address,uint256)": FunctionFragment; - "quoteRedeem(address,uint256)": FunctionFragment; - "redeem(address,uint256,uint160)": FunctionFragment; - "redeemForEth(uint256,uint160)": FunctionFragment; + "redeem(address,uint256,uint256,address)": FunctionFragment; + "redeemForEth(uint256,uint256,address)": FunctionFragment; "redeemable()": FunctionFragment; - "registerQuoteToken(address,bool)": FunctionFragment; "renounceOwnership()": FunctionFragment; "router()": FunctionFragment; "setRedeemable(address)": FunctionFragment; - "setRouter(address)": FunctionFragment; "transferOwnership(address)": FunctionFragment; + "updateRouter(address)": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "weth()": FunctionFragment; - "whitelistCollateral(address,bool,bool)": FunctionFragment; + "whitelistAsset(address,bool)": FunctionFragment; + "whitelistedAssets(address)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "VERSION" - | "collateralList" - | "collateralTokens" + | "assetList" | "initialize" | "mint" | "mintWithEth" | "owner" | "proxiableUUID" - | "quoteMint" - | "quoteRedeem" | "redeem" | "redeemForEth" | "redeemable" - | "registerQuoteToken" | "renounceOwnership" | "router" | "setRedeemable" - | "setRouter" | "transferOwnership" + | "updateRouter" | "upgradeTo" | "upgradeToAndCall" | "weth" - | "whitelistCollateral" + | "whitelistAsset" + | "whitelistedAssets" ): FunctionFragment; encodeFunctionData(functionFragment: "VERSION", values?: undefined): string; encodeFunctionData( - functionFragment: "collateralList", + functionFragment: "assetList", values: [PromiseOrValue] ): string; - encodeFunctionData( - functionFragment: "collateralTokens", - values: [PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "initialize", values: [PromiseOrValue] @@ -100,46 +90,40 @@ export interface UXDControllerInterface extends utils.Interface { values: [ PromiseOrValue, PromiseOrValue, - PromiseOrValue + PromiseOrValue, + PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "mintWithEth", - values: [PromiseOrValue] + values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "proxiableUUID", values?: undefined ): string; - encodeFunctionData( - functionFragment: "quoteMint", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "quoteRedeem", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "redeem", values: [ PromiseOrValue, PromiseOrValue, - PromiseOrValue + PromiseOrValue, + PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "redeemForEth", - values: [PromiseOrValue, PromiseOrValue] + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] ): string; encodeFunctionData( functionFragment: "redeemable", values?: undefined ): string; - encodeFunctionData( - functionFragment: "registerQuoteToken", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "renounceOwnership", values?: undefined @@ -150,11 +134,11 @@ export interface UXDControllerInterface extends utils.Interface { values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "setRouter", + functionFragment: "transferOwnership", values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "transferOwnership", + functionFragment: "updateRouter", values: [PromiseOrValue] ): string; encodeFunctionData( @@ -167,23 +151,16 @@ export interface UXDControllerInterface extends utils.Interface { ): string; encodeFunctionData(functionFragment: "weth", values?: undefined): string; encodeFunctionData( - functionFragment: "whitelistCollateral", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] + functionFragment: "whitelistAsset", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "whitelistedAssets", + values: [PromiseOrValue] ): string; decodeFunctionResult(functionFragment: "VERSION", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "collateralList", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "collateralTokens", - data: BytesLike - ): Result; + decodeFunctionResult(functionFragment: "assetList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult( @@ -195,21 +172,12 @@ export interface UXDControllerInterface extends utils.Interface { functionFragment: "proxiableUUID", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "quoteMint", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "quoteRedeem", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult( functionFragment: "redeemForEth", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "redeemable", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "registerQuoteToken", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "renounceOwnership", data: BytesLike @@ -219,11 +187,14 @@ export interface UXDControllerInterface extends utils.Interface { functionFragment: "setRedeemable", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "setRouter", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferOwnership", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "updateRouter", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult( functionFragment: "upgradeToAndCall", @@ -231,7 +202,11 @@ export interface UXDControllerInterface extends utils.Interface { ): Result; decodeFunctionResult(functionFragment: "weth", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "whitelistCollateral", + functionFragment: "whitelistAsset", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "whitelistedAssets", data: BytesLike ): Result; @@ -239,12 +214,9 @@ export interface UXDControllerInterface extends utils.Interface { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "Initialized(uint8)": EventFragment; - "Minted(address,uint256,uint256)": EventFragment; + "Minted(address,address,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; - "QuoteMinted(address,uint256,uint256)": EventFragment; - "QuoteRedeemed(address,uint256,uint256)": EventFragment; - "QuoteTokenRegistered(address,bool)": EventFragment; - "Redeemed(address,uint256,uint256)": EventFragment; + "Redeemed(address,address,uint256)": EventFragment; "RouterUpdated(address,address)": EventFragment; "Upgraded(address)": EventFragment; "WhitelistUpdated(address,address,bool)": EventFragment; @@ -255,9 +227,6 @@ export interface UXDControllerInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Minted"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; - getEvent(nameOrSignatureOrTopic: "QuoteMinted"): EventFragment; - getEvent(nameOrSignatureOrTopic: "QuoteRedeemed"): EventFragment; - getEvent(nameOrSignatureOrTopic: "QuoteTokenRegistered"): EventFragment; getEvent(nameOrSignatureOrTopic: "Redeemed"): EventFragment; getEvent(nameOrSignatureOrTopic: "RouterUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; @@ -293,12 +262,12 @@ export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface MintedEventObject { - account: string; - base: BigNumber; - quote: BigNumber; + caller: string; + receiver: string; + amount: BigNumber; } export type MintedEvent = TypedEvent< - [string, BigNumber, BigNumber], + [string, string, BigNumber], MintedEventObject >; @@ -316,49 +285,13 @@ export type OwnershipTransferredEvent = TypedEvent< export type OwnershipTransferredEventFilter = TypedEventFilter; -export interface QuoteMintedEventObject { - account: string; - quoteAmount: BigNumber; - redeemabelAmount: BigNumber; -} -export type QuoteMintedEvent = TypedEvent< - [string, BigNumber, BigNumber], - QuoteMintedEventObject ->; - -export type QuoteMintedEventFilter = TypedEventFilter; - -export interface QuoteRedeemedEventObject { - account: string; - quoteAmount: BigNumber; - redeemableAmount: BigNumber; -} -export type QuoteRedeemedEvent = TypedEvent< - [string, BigNumber, BigNumber], - QuoteRedeemedEventObject ->; - -export type QuoteRedeemedEventFilter = TypedEventFilter; - -export interface QuoteTokenRegisteredEventObject { - quoteToken: string; - isQuote: boolean; -} -export type QuoteTokenRegisteredEvent = TypedEvent< - [string, boolean], - QuoteTokenRegisteredEventObject ->; - -export type QuoteTokenRegisteredEventFilter = - TypedEventFilter; - export interface RedeemedEventObject { - account: string; - base: BigNumber; - quote: BigNumber; + caller: string; + receiver: string; + amount: BigNumber; } export type RedeemedEvent = TypedEvent< - [string, BigNumber, BigNumber], + [string, string, BigNumber], RedeemedEventObject >; @@ -424,30 +357,27 @@ export interface UXDController extends BaseContract { functions: { VERSION(overrides?: CallOverrides): Promise<[string]>; - collateralList( + assetList( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[string]>; - collateralTokens( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[boolean]>; - initialize( _weth: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mint( - baseToken: PromiseOrValue, - collateralAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mintWithEth( - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; @@ -455,39 +385,23 @@ export interface UXDController extends BaseContract { proxiableUUID(overrides?: CallOverrides): Promise<[string]>; - quoteMint( - quoteTokenAddress: PromiseOrValue, - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - quoteRedeem( - quoteTokenAddress: PromiseOrValue, - redeemableAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - redeem( - baseToken: PromiseOrValue, + assetToken: PromiseOrValue, redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemForEth( redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemable(overrides?: CallOverrides): Promise<[string]>; - registerQuoteToken( - tokenAddress: PromiseOrValue, - isQuote: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -499,13 +413,13 @@ export interface UXDController extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - setRouter( - _router: PromiseOrValue, + transferOwnership( + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - transferOwnership( - newOwner: PromiseOrValue, + updateRouter( + _router: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -522,40 +436,41 @@ export interface UXDController extends BaseContract { weth(overrides?: CallOverrides): Promise<[string]>; - whitelistCollateral( + whitelistAsset( tokenAddress: PromiseOrValue, isWhitelisted: PromiseOrValue, - isBaseToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; }; VERSION(overrides?: CallOverrides): Promise; - collateralList( + assetList( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; - collateralTokens( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - initialize( _weth: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mint( - baseToken: PromiseOrValue, - collateralAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mintWithEth( - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; @@ -563,39 +478,23 @@ export interface UXDController extends BaseContract { proxiableUUID(overrides?: CallOverrides): Promise; - quoteMint( - quoteTokenAddress: PromiseOrValue, - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - quoteRedeem( - quoteTokenAddress: PromiseOrValue, - redeemableAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - redeem( - baseToken: PromiseOrValue, + assetToken: PromiseOrValue, redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemForEth( redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemable(overrides?: CallOverrides): Promise; - registerQuoteToken( - tokenAddress: PromiseOrValue, - isQuote: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -607,13 +506,13 @@ export interface UXDController extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - setRouter( - _router: PromiseOrValue, + transferOwnership( + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - transferOwnership( - newOwner: PromiseOrValue, + updateRouter( + _router: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -630,80 +529,65 @@ export interface UXDController extends BaseContract { weth(overrides?: CallOverrides): Promise; - whitelistCollateral( + whitelistAsset( tokenAddress: PromiseOrValue, isWhitelisted: PromiseOrValue, - isBaseToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + callStatic: { VERSION(overrides?: CallOverrides): Promise; - collateralList( + assetList( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; - collateralTokens( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - initialize( _weth: PromiseOrValue, overrides?: CallOverrides ): Promise; mint( - baseToken: PromiseOrValue, - collateralAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber, BigNumber]>; + ): Promise; mintWithEth( - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber, BigNumber]>; + ): Promise; owner(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; - quoteMint( - quoteTokenAddress: PromiseOrValue, - quoteAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - quoteRedeem( - quoteTokenAddress: PromiseOrValue, - redeemableAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - redeem( - baseToken: PromiseOrValue, + assetToken: PromiseOrValue, redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber, BigNumber]>; + ): Promise; redeemForEth( redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber, BigNumber]>; + ): Promise; redeemable(overrides?: CallOverrides): Promise; - registerQuoteToken( - tokenAddress: PromiseOrValue, - isQuote: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - renounceOwnership(overrides?: CallOverrides): Promise; router(overrides?: CallOverrides): Promise; @@ -713,13 +597,13 @@ export interface UXDController extends BaseContract { overrides?: CallOverrides ): Promise; - setRouter( - _router: PromiseOrValue, + transferOwnership( + newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; - transferOwnership( - newOwner: PromiseOrValue, + updateRouter( + _router: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -736,12 +620,16 @@ export interface UXDController extends BaseContract { weth(overrides?: CallOverrides): Promise; - whitelistCollateral( + whitelistAsset( tokenAddress: PromiseOrValue, isWhitelisted: PromiseOrValue, - isBaseToken: PromiseOrValue, overrides?: CallOverrides ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; }; filters: { @@ -764,15 +652,15 @@ export interface UXDController extends BaseContract { "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; - "Minted(address,uint256,uint256)"( - account?: PromiseOrValue | null, - base?: null, - quote?: null + "Minted(address,address,uint256)"( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null ): MintedEventFilter; Minted( - account?: PromiseOrValue | null, - base?: null, - quote?: null + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null ): MintedEventFilter; "OwnershipTransferred(address,address)"( @@ -784,46 +672,15 @@ export interface UXDController extends BaseContract { newOwner?: PromiseOrValue | null ): OwnershipTransferredEventFilter; - "QuoteMinted(address,uint256,uint256)"( - account?: PromiseOrValue | null, - quoteAmount?: null, - redeemabelAmount?: null - ): QuoteMintedEventFilter; - QuoteMinted( - account?: PromiseOrValue | null, - quoteAmount?: null, - redeemabelAmount?: null - ): QuoteMintedEventFilter; - - "QuoteRedeemed(address,uint256,uint256)"( - account?: PromiseOrValue | null, - quoteAmount?: null, - redeemableAmount?: null - ): QuoteRedeemedEventFilter; - QuoteRedeemed( - account?: PromiseOrValue | null, - quoteAmount?: null, - redeemableAmount?: null - ): QuoteRedeemedEventFilter; - - "QuoteTokenRegistered(address,bool)"( - quoteToken?: PromiseOrValue | null, - isQuote?: null - ): QuoteTokenRegisteredEventFilter; - QuoteTokenRegistered( - quoteToken?: PromiseOrValue | null, - isQuote?: null - ): QuoteTokenRegisteredEventFilter; - - "Redeemed(address,uint256,uint256)"( - account?: PromiseOrValue | null, - base?: null, - quote?: null + "Redeemed(address,address,uint256)"( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null ): RedeemedEventFilter; Redeemed( - account?: PromiseOrValue | null, - base?: null, - quote?: null + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null ): RedeemedEventFilter; "RouterUpdated(address,address)"( @@ -857,30 +714,27 @@ export interface UXDController extends BaseContract { estimateGas: { VERSION(overrides?: CallOverrides): Promise; - collateralList( + assetList( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; - collateralTokens( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - initialize( _weth: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mint( - baseToken: PromiseOrValue, - collateralAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mintWithEth( - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; @@ -888,39 +742,23 @@ export interface UXDController extends BaseContract { proxiableUUID(overrides?: CallOverrides): Promise; - quoteMint( - quoteTokenAddress: PromiseOrValue, - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - quoteRedeem( - quoteTokenAddress: PromiseOrValue, - redeemableAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - redeem( - baseToken: PromiseOrValue, + assetToken: PromiseOrValue, redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemForEth( redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemable(overrides?: CallOverrides): Promise; - registerQuoteToken( - tokenAddress: PromiseOrValue, - isQuote: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -932,13 +770,13 @@ export interface UXDController extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - setRouter( - _router: PromiseOrValue, + transferOwnership( + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - transferOwnership( - newOwner: PromiseOrValue, + updateRouter( + _router: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -955,41 +793,42 @@ export interface UXDController extends BaseContract { weth(overrides?: CallOverrides): Promise; - whitelistCollateral( + whitelistAsset( tokenAddress: PromiseOrValue, isWhitelisted: PromiseOrValue, - isBaseToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; }; populateTransaction: { VERSION(overrides?: CallOverrides): Promise; - collateralList( + assetList( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; - collateralTokens( - arg0: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - initialize( _weth: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mint( - baseToken: PromiseOrValue, - collateralAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; mintWithEth( - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; @@ -997,39 +836,23 @@ export interface UXDController extends BaseContract { proxiableUUID(overrides?: CallOverrides): Promise; - quoteMint( - quoteTokenAddress: PromiseOrValue, - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - quoteRedeem( - quoteTokenAddress: PromiseOrValue, - redeemableAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - redeem( - baseToken: PromiseOrValue, + assetToken: PromiseOrValue, redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemForEth( redeemAmount: PromiseOrValue, - sqrtPriceLimitX96: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; redeemable(overrides?: CallOverrides): Promise; - registerQuoteToken( - tokenAddress: PromiseOrValue, - isQuote: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1041,13 +864,13 @@ export interface UXDController extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - setRouter( - _router: PromiseOrValue, + transferOwnership( + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - transferOwnership( - newOwner: PromiseOrValue, + updateRouter( + _router: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1064,11 +887,15 @@ export interface UXDController extends BaseContract { weth(overrides?: CallOverrides): Promise; - whitelistCollateral( + whitelistAsset( tokenAddress: PromiseOrValue, isWhitelisted: PromiseOrValue, - isBaseToken: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; }; } diff --git a/src/typechain-types/contracts/core/UXDControllerStorage.ts b/src/typechain-types/contracts/core/UXDControllerStorage.ts new file mode 100644 index 0000000..39669bb --- /dev/null +++ b/src/typechain-types/contracts/core/UXDControllerStorage.ts @@ -0,0 +1,184 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface UXDControllerStorageInterface extends utils.Interface { + functions: { + "assetList(uint256)": FunctionFragment; + "redeemable()": FunctionFragment; + "router()": FunctionFragment; + "weth()": FunctionFragment; + "whitelistedAssets(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "assetList" + | "redeemable" + | "router" + | "weth" + | "whitelistedAssets" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "assetList", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeemable", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "router", values?: undefined): string; + encodeFunctionData(functionFragment: "weth", values?: undefined): string; + encodeFunctionData( + functionFragment: "whitelistedAssets", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "assetList", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeemable", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "weth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "whitelistedAssets", + data: BytesLike + ): Result; + + events: {}; +} + +export interface UXDControllerStorage extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UXDControllerStorageInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + redeemable(overrides?: CallOverrides): Promise<[string]>; + + router(overrides?: CallOverrides): Promise<[string]>; + + weth(overrides?: CallOverrides): Promise<[string]>; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + router(overrides?: CallOverrides): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + router(overrides?: CallOverrides): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + router(overrides?: CallOverrides): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + router(overrides?: CallOverrides): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/core/UXDRouter.ts b/src/typechain-types/contracts/core/UXDRouter.ts new file mode 100644 index 0000000..b859fe5 --- /dev/null +++ b/src/typechain-types/contracts/core/UXDRouter.ts @@ -0,0 +1,421 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface UXDRouterInterface extends utils.Interface { + functions: { + "depositoriesForAsset(address)": FunctionFragment; + "findDepositoryForAssetDeposit(address,uint256)": FunctionFragment; + "findDepositoryForRedeem(address,uint256)": FunctionFragment; + "owner()": FunctionFragment; + "registerDepository(address,address)": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + "unregisterDepository(address,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "depositoriesForAsset" + | "findDepositoryForAssetDeposit" + | "findDepositoryForRedeem" + | "owner" + | "registerDepository" + | "renounceOwnership" + | "transferOwnership" + | "unregisterDepository" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "depositoriesForAsset", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "findDepositoryForAssetDeposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "findDepositoryForRedeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "registerDepository", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "unregisterDepository", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "depositoriesForAsset", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "findDepositoryForAssetDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "findDepositoryForRedeem", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "registerDepository", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unregisterDepository", + data: BytesLike + ): Result; + + events: { + "DepositoryRegistered(address,address)": EventFragment; + "DepositoryUnregistered(address,address)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DepositoryRegistered"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DepositoryUnregistered"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; +} + +export interface DepositoryRegisteredEventObject { + assetToken: string; + depository: string; +} +export type DepositoryRegisteredEvent = TypedEvent< + [string, string], + DepositoryRegisteredEventObject +>; + +export type DepositoryRegisteredEventFilter = + TypedEventFilter; + +export interface DepositoryUnregisteredEventObject { + assetToken: string; + depository: string; +} +export type DepositoryUnregisteredEvent = TypedEvent< + [string, string], + DepositoryUnregisteredEventObject +>; + +export type DepositoryUnregisteredEventFilter = + TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface UXDRouter extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UXDRouterInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + depositoriesForAsset( + assetToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]]>; + + findDepositoryForAssetDeposit( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + findDepositoryForRedeem( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + registerDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + depositoriesForAsset( + assetToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForAssetDeposit( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + registerDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + depositoriesForAsset( + assetToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForAssetDeposit( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + registerDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DepositoryRegistered(address,address)"( + assetToken?: PromiseOrValue | null, + depository?: PromiseOrValue | null + ): DepositoryRegisteredEventFilter; + DepositoryRegistered( + assetToken?: PromiseOrValue | null, + depository?: PromiseOrValue | null + ): DepositoryRegisteredEventFilter; + + "DepositoryUnregistered(address,address)"( + assetToken?: PromiseOrValue | null, + depository?: PromiseOrValue | null + ): DepositoryUnregisteredEventFilter; + DepositoryUnregistered( + assetToken?: PromiseOrValue | null, + depository?: PromiseOrValue | null + ): DepositoryUnregisteredEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + }; + + estimateGas: { + depositoriesForAsset( + assetToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForAssetDeposit( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + registerDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + depositoriesForAsset( + assetToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForAssetDeposit( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + findDepositoryForRedeem( + assetToken: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + registerDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + unregisterDepository( + depository: PromiseOrValue, + assetToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/core/UXDToken.sol/IRedeemable.ts b/src/typechain-types/contracts/core/UXDToken.sol/IRedeemable.ts new file mode 100644 index 0000000..4886784 --- /dev/null +++ b/src/typechain-types/contracts/core/UXDToken.sol/IRedeemable.ts @@ -0,0 +1,416 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IRedeemableInterface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "burn(address,uint256)": FunctionFragment; + "mint(address,uint256)": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "burn" + | "mint" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "burn", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface IRedeemable extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IRedeemableInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/core/UXDToken.sol/UXDToken.ts b/src/typechain-types/contracts/core/UXDToken.sol/UXDToken.ts new file mode 100644 index 0000000..ac675b2 --- /dev/null +++ b/src/typechain-types/contracts/core/UXDToken.sol/UXDToken.ts @@ -0,0 +1,807 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface UXDTokenInterface extends utils.Interface { + functions: { + "DOMAIN_SEPARATOR()": FunctionFragment; + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "burn(address,uint256)": FunctionFragment; + "controller()": FunctionFragment; + "decimals()": FunctionFragment; + "mint(address,uint256)": FunctionFragment; + "name()": FunctionFragment; + "nonces(address)": FunctionFragment; + "owner()": FunctionFragment; + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "setSupplyCap(uint256)": FunctionFragment; + "supplyCap()": FunctionFragment; + "symbol()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "burn" + | "controller" + | "decimals" + | "mint" + | "name" + | "nonces" + | "owner" + | "permit" + | "renounceOwnership" + | "setSupplyCap" + | "supplyCap" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + | "transferOwnership" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "burn", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "controller", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "mint", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "nonces", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setSupplyCap", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "supplyCap", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyCap", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "supplyCap", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Burned(address,uint256)": EventFragment; + "Minted(address,uint256)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "SupplyCapChanged(address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Burned"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Minted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "SupplyCapChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface BurnedEventObject { + account: string; + amount: BigNumber; +} +export type BurnedEvent = TypedEvent<[string, BigNumber], BurnedEventObject>; + +export type BurnedEventFilter = TypedEventFilter; + +export interface MintedEventObject { + account: string; + amount: BigNumber; +} +export type MintedEvent = TypedEvent<[string, BigNumber], MintedEventObject>; + +export type MintedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface SupplyCapChangedEventObject { + by: string; + cap: BigNumber; +} +export type SupplyCapChangedEvent = TypedEvent< + [string, BigNumber], + SupplyCapChangedEventObject +>; + +export type SupplyCapChangedEventFilter = + TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface UXDToken extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UXDTokenInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; + + allowance( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + controller(overrides?: CallOverrides): Promise<[string]>; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise<[string]>; + + nonces( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSupplyCap( + maxSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supplyCap(overrides?: CallOverrides): Promise<[BigNumber]>; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + decimals(overrides?: CallOverrides): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSupplyCap( + maxSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supplyCap(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + decimals(overrides?: CallOverrides): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + setSupplyCap( + maxSupply: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supplyCap(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Burned(address,uint256)"( + account?: PromiseOrValue | null, + amount?: null + ): BurnedEventFilter; + Burned( + account?: PromiseOrValue | null, + amount?: null + ): BurnedEventFilter; + + "Minted(address,uint256)"( + account?: PromiseOrValue | null, + amount?: null + ): MintedEventFilter; + Minted( + account?: PromiseOrValue | null, + amount?: null + ): MintedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + + "SupplyCapChanged(address,uint256)"( + by?: PromiseOrValue | null, + cap?: null + ): SupplyCapChangedEventFilter; + SupplyCapChanged( + by?: PromiseOrValue | null, + cap?: null + ): SupplyCapChangedEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + decimals(overrides?: CallOverrides): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSupplyCap( + maxSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supplyCap(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + decimals(overrides?: CallOverrides): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSupplyCap( + maxSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supplyCap(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/core/UXDToken.sol/index.ts b/src/typechain-types/contracts/core/UXDToken.sol/index.ts new file mode 100644 index 0000000..36668de --- /dev/null +++ b/src/typechain-types/contracts/core/UXDToken.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IRedeemable } from "./IRedeemable"; +export type { UXDToken } from "./UXDToken"; diff --git a/src/typechain-types/contracts/core/index.ts b/src/typechain-types/contracts/core/index.ts new file mode 100644 index 0000000..cdf4398 --- /dev/null +++ b/src/typechain-types/contracts/core/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as uxdTokenSol from "./UXDToken.sol"; +export type { uxdTokenSol }; +export type { IUXDController } from "./IUXDController"; +export type { IUXDRouter } from "./IUXDRouter"; +export type { UXDController } from "./UXDController"; +export type { UXDControllerStorage } from "./UXDControllerStorage"; +export type { UXDRouter } from "./UXDRouter"; diff --git a/src/typechain-types/contracts/external/index.ts b/src/typechain-types/contracts/external/index.ts new file mode 100644 index 0000000..d33bef3 --- /dev/null +++ b/src/typechain-types/contracts/external/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as perp from "./perp"; +export type { perp }; +import type * as rageTrade from "./rage-trade"; +export type { rageTrade }; +import type * as weth from "./weth"; +export type { weth }; diff --git a/src/typechain-types/contracts/external/perp/IAccountBalance.ts b/src/typechain-types/contracts/external/perp/IAccountBalance.ts new file mode 100644 index 0000000..49c8494 --- /dev/null +++ b/src/typechain-types/contracts/external/perp/IAccountBalance.ts @@ -0,0 +1,1162 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export declare namespace AccountMarket { + export type InfoStruct = { + takerPositionSize: PromiseOrValue; + takerOpenNotional: PromiseOrValue; + lastTwPremiumGrowthGlobalX96: PromiseOrValue; + }; + + export type InfoStructOutput = [BigNumber, BigNumber, BigNumber] & { + takerPositionSize: BigNumber; + takerOpenNotional: BigNumber; + lastTwPremiumGrowthGlobalX96: BigNumber; + }; +} + +export interface IAccountBalanceInterface extends utils.Interface { + functions: { + "deregisterBaseToken(address,address)": FunctionFragment; + "getAccountInfo(address,address)": FunctionFragment; + "getBase(address,address)": FunctionFragment; + "getBaseTokens(address)": FunctionFragment; + "getClearingHouseConfig()": FunctionFragment; + "getMarginRequirementForLiquidation(address)": FunctionFragment; + "getOrderBook()": FunctionFragment; + "getPnlAndPendingFee(address)": FunctionFragment; + "getQuote(address,address)": FunctionFragment; + "getTakerOpenNotional(address,address)": FunctionFragment; + "getTakerPositionSize(address,address)": FunctionFragment; + "getTotalAbsPositionValue(address)": FunctionFragment; + "getTotalDebtValue(address)": FunctionFragment; + "getTotalOpenNotional(address,address)": FunctionFragment; + "getTotalPositionSize(address,address)": FunctionFragment; + "getTotalPositionValue(address,address)": FunctionFragment; + "getVault()": FunctionFragment; + "hasOrder(address)": FunctionFragment; + "modifyOwedRealizedPnl(address,int256)": FunctionFragment; + "modifyTakerBalance(address,address,int256,int256)": FunctionFragment; + "registerBaseToken(address,address)": FunctionFragment; + "settleBalanceAndDeregister(address,address,int256,int256,int256,int256)": FunctionFragment; + "settleOwedRealizedPnl(address)": FunctionFragment; + "settlePositionInClosedMarket(address,address)": FunctionFragment; + "settleQuoteToOwedRealizedPnl(address,address,int256)": FunctionFragment; + "updateTwPremiumGrowthGlobal(address,address,int256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "deregisterBaseToken" + | "getAccountInfo" + | "getBase" + | "getBaseTokens" + | "getClearingHouseConfig" + | "getMarginRequirementForLiquidation" + | "getOrderBook" + | "getPnlAndPendingFee" + | "getQuote" + | "getTakerOpenNotional" + | "getTakerPositionSize" + | "getTotalAbsPositionValue" + | "getTotalDebtValue" + | "getTotalOpenNotional" + | "getTotalPositionSize" + | "getTotalPositionValue" + | "getVault" + | "hasOrder" + | "modifyOwedRealizedPnl" + | "modifyTakerBalance" + | "registerBaseToken" + | "settleBalanceAndDeregister" + | "settleOwedRealizedPnl" + | "settlePositionInClosedMarket" + | "settleQuoteToOwedRealizedPnl" + | "updateTwPremiumGrowthGlobal" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "deregisterBaseToken", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getAccountInfo", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getBase", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getBaseTokens", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getClearingHouseConfig", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getMarginRequirementForLiquidation", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getOrderBook", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPnlAndPendingFee", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getQuote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTakerOpenNotional", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTakerPositionSize", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalAbsPositionValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalDebtValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalOpenNotional", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalPositionSize", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalPositionValue", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "getVault", values?: undefined): string; + encodeFunctionData( + functionFragment: "hasOrder", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "modifyOwedRealizedPnl", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "modifyTakerBalance", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "registerBaseToken", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "settleBalanceAndDeregister", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "settleOwedRealizedPnl", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "settlePositionInClosedMarket", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "settleQuoteToOwedRealizedPnl", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "updateTwPremiumGrowthGlobal", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "deregisterBaseToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountInfo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getBase", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getBaseTokens", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getClearingHouseConfig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMarginRequirementForLiquidation", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getOrderBook", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPnlAndPendingFee", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getQuote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getTakerOpenNotional", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTakerPositionSize", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalAbsPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalDebtValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalOpenNotional", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalPositionSize", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasOrder", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "modifyOwedRealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "modifyTakerBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "registerBaseToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "settleBalanceAndDeregister", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "settleOwedRealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "settlePositionInClosedMarket", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "settleQuoteToOwedRealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateTwPremiumGrowthGlobal", + data: BytesLike + ): Result; + + events: { + "PnlRealized(address,int256)": EventFragment; + "VaultChanged(address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "PnlRealized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VaultChanged"): EventFragment; +} + +export interface PnlRealizedEventObject { + trader: string; + amount: BigNumber; +} +export type PnlRealizedEvent = TypedEvent< + [string, BigNumber], + PnlRealizedEventObject +>; + +export type PnlRealizedEventFilter = TypedEventFilter; + +export interface VaultChangedEventObject { + vault: string; +} +export type VaultChangedEvent = TypedEvent<[string], VaultChangedEventObject>; + +export type VaultChangedEventFilter = TypedEventFilter; + +export interface IAccountBalance extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IAccountBalanceInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + deregisterBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountInfo( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [AccountMarket.InfoStructOutput] & { + traderAccountInfo: AccountMarket.InfoStructOutput; + } + >; + + getBase( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { baseAmount: BigNumber }>; + + getBaseTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { baseTokens: string[] }>; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise<[string] & { clearingHouseConfig: string }>; + + getMarginRequirementForLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { marginRequirementForLiquidation: BigNumber }>; + + getOrderBook( + overrides?: CallOverrides + ): Promise<[string] & { orderBook: string }>; + + getPnlAndPendingFee( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + owedRealizedPnl: BigNumber; + unrealizedPnl: BigNumber; + pendingFee: BigNumber; + } + >; + + getQuote( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { quoteAmount: BigNumber }>; + + getTakerOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { openNotional: BigNumber }>; + + getTakerPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { takerPositionSize: BigNumber }>; + + getTotalAbsPositionValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalAbsPositionValue: BigNumber }>; + + getTotalDebtValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalDebtValue: BigNumber }>; + + getTotalOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalOpenNotional: BigNumber }>; + + getTotalPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalPositionSize: BigNumber }>; + + getTotalPositionValue( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalPositionValue: BigNumber }>; + + getVault(overrides?: CallOverrides): Promise<[string] & { vault: string }>; + + hasOrder( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { hasOrder: boolean }>; + + modifyOwedRealizedPnl( + trader: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + modifyTakerBalance( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + base: PromiseOrValue, + quote: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + registerBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleBalanceAndDeregister( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + takerBase: PromiseOrValue, + takerQuote: PromiseOrValue, + realizedPnl: PromiseOrValue, + fee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleOwedRealizedPnl( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settlePositionInClosedMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleQuoteToOwedRealizedPnl( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTwPremiumGrowthGlobal( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + lastTwPremiumGrowthGlobalX96: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + deregisterBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountInfo( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBase( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBaseTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getMarginRequirementForLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPnlAndPendingFee( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + owedRealizedPnl: BigNumber; + unrealizedPnl: BigNumber; + pendingFee: BigNumber; + } + >; + + getQuote( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalAbsPositionValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVault(overrides?: CallOverrides): Promise; + + hasOrder( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + modifyOwedRealizedPnl( + trader: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + modifyTakerBalance( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + base: PromiseOrValue, + quote: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + registerBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleBalanceAndDeregister( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + takerBase: PromiseOrValue, + takerQuote: PromiseOrValue, + realizedPnl: PromiseOrValue, + fee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleOwedRealizedPnl( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settlePositionInClosedMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleQuoteToOwedRealizedPnl( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTwPremiumGrowthGlobal( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + lastTwPremiumGrowthGlobalX96: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + deregisterBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountInfo( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBase( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBaseTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getMarginRequirementForLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPnlAndPendingFee( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + owedRealizedPnl: BigNumber; + unrealizedPnl: BigNumber; + pendingFee: BigNumber; + } + >; + + getQuote( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalAbsPositionValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVault(overrides?: CallOverrides): Promise; + + hasOrder( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + modifyOwedRealizedPnl( + trader: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + modifyTakerBalance( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + base: PromiseOrValue, + quote: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber] & { + takerPositionSize: BigNumber; + takerOpenNotional: BigNumber; + } + >; + + registerBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + settleBalanceAndDeregister( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + takerBase: PromiseOrValue, + takerQuote: PromiseOrValue, + realizedPnl: PromiseOrValue, + fee: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + settleOwedRealizedPnl( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + settlePositionInClosedMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + positionNotional: BigNumber; + openNotional: BigNumber; + realizedPnl: BigNumber; + closedPrice: BigNumber; + } + >; + + settleQuoteToOwedRealizedPnl( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateTwPremiumGrowthGlobal( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + lastTwPremiumGrowthGlobalX96: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "PnlRealized(address,int256)"( + trader?: PromiseOrValue | null, + amount?: null + ): PnlRealizedEventFilter; + PnlRealized( + trader?: PromiseOrValue | null, + amount?: null + ): PnlRealizedEventFilter; + + "VaultChanged(address)"( + vault?: PromiseOrValue | null + ): VaultChangedEventFilter; + VaultChanged( + vault?: PromiseOrValue | null + ): VaultChangedEventFilter; + }; + + estimateGas: { + deregisterBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountInfo( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBase( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBaseTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getMarginRequirementForLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPnlAndPendingFee( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getQuote( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalAbsPositionValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVault(overrides?: CallOverrides): Promise; + + hasOrder( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + modifyOwedRealizedPnl( + trader: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + modifyTakerBalance( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + base: PromiseOrValue, + quote: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + registerBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleBalanceAndDeregister( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + takerBase: PromiseOrValue, + takerQuote: PromiseOrValue, + realizedPnl: PromiseOrValue, + fee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleOwedRealizedPnl( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settlePositionInClosedMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleQuoteToOwedRealizedPnl( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTwPremiumGrowthGlobal( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + lastTwPremiumGrowthGlobalX96: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + deregisterBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountInfo( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBase( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBaseTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise; + + getMarginRequirementForLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPnlAndPendingFee( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getQuote( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTakerPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalAbsPositionValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVault(overrides?: CallOverrides): Promise; + + hasOrder( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + modifyOwedRealizedPnl( + trader: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + modifyTakerBalance( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + base: PromiseOrValue, + quote: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + registerBaseToken( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleBalanceAndDeregister( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + takerBase: PromiseOrValue, + takerQuote: PromiseOrValue, + realizedPnl: PromiseOrValue, + fee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleOwedRealizedPnl( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settlePositionInClosedMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleQuoteToOwedRealizedPnl( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTwPremiumGrowthGlobal( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + lastTwPremiumGrowthGlobalX96: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/perp/IClearingHouse.ts b/src/typechain-types/contracts/external/perp/IClearingHouse.ts new file mode 100644 index 0000000..0e2d0f0 --- /dev/null +++ b/src/typechain-types/contracts/external/perp/IClearingHouse.ts @@ -0,0 +1,1072 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export declare namespace IClearingHouse { + export type AddLiquidityParamsStruct = { + baseToken: PromiseOrValue; + base: PromiseOrValue; + quote: PromiseOrValue; + lowerTick: PromiseOrValue; + upperTick: PromiseOrValue; + minBase: PromiseOrValue; + minQuote: PromiseOrValue; + useTakerBalance: PromiseOrValue; + deadline: PromiseOrValue; + }; + + export type AddLiquidityParamsStructOutput = [ + string, + BigNumber, + BigNumber, + number, + number, + BigNumber, + BigNumber, + boolean, + BigNumber + ] & { + baseToken: string; + base: BigNumber; + quote: BigNumber; + lowerTick: number; + upperTick: number; + minBase: BigNumber; + minQuote: BigNumber; + useTakerBalance: boolean; + deadline: BigNumber; + }; + + export type AddLiquidityResponseStruct = { + base: PromiseOrValue; + quote: PromiseOrValue; + fee: PromiseOrValue; + liquidity: PromiseOrValue; + }; + + export type AddLiquidityResponseStructOutput = [ + BigNumber, + BigNumber, + BigNumber, + BigNumber + ] & { + base: BigNumber; + quote: BigNumber; + fee: BigNumber; + liquidity: BigNumber; + }; + + export type ClosePositionParamsStruct = { + baseToken: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + oppositeAmountBound: PromiseOrValue; + deadline: PromiseOrValue; + referralCode: PromiseOrValue; + }; + + export type ClosePositionParamsStructOutput = [ + string, + BigNumber, + BigNumber, + BigNumber, + string + ] & { + baseToken: string; + sqrtPriceLimitX96: BigNumber; + oppositeAmountBound: BigNumber; + deadline: BigNumber; + referralCode: string; + }; + + export type OpenPositionParamsStruct = { + baseToken: PromiseOrValue; + isBaseToQuote: PromiseOrValue; + isExactInput: PromiseOrValue; + amount: PromiseOrValue; + oppositeAmountBound: PromiseOrValue; + deadline: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + referralCode: PromiseOrValue; + }; + + export type OpenPositionParamsStructOutput = [ + string, + boolean, + boolean, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string + ] & { + baseToken: string; + isBaseToQuote: boolean; + isExactInput: boolean; + amount: BigNumber; + oppositeAmountBound: BigNumber; + deadline: BigNumber; + sqrtPriceLimitX96: BigNumber; + referralCode: string; + }; + + export type RemoveLiquidityParamsStruct = { + baseToken: PromiseOrValue; + lowerTick: PromiseOrValue; + upperTick: PromiseOrValue; + liquidity: PromiseOrValue; + minBase: PromiseOrValue; + minQuote: PromiseOrValue; + deadline: PromiseOrValue; + }; + + export type RemoveLiquidityParamsStructOutput = [ + string, + number, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber + ] & { + baseToken: string; + lowerTick: number; + upperTick: number; + liquidity: BigNumber; + minBase: BigNumber; + minQuote: BigNumber; + deadline: BigNumber; + }; + + export type RemoveLiquidityResponseStruct = { + base: PromiseOrValue; + quote: PromiseOrValue; + fee: PromiseOrValue; + }; + + export type RemoveLiquidityResponseStructOutput = [ + BigNumber, + BigNumber, + BigNumber + ] & { base: BigNumber; quote: BigNumber; fee: BigNumber }; +} + +export interface IClearingHouseInterface extends utils.Interface { + functions: { + "addLiquidity((address,uint256,uint256,int24,int24,uint256,uint256,bool,uint256))": FunctionFragment; + "cancelAllExcessOrders(address,address)": FunctionFragment; + "cancelExcessOrders(address,address,bytes32[])": FunctionFragment; + "closePosition((address,uint160,uint256,uint256,bytes32))": FunctionFragment; + "getAccountBalance()": FunctionFragment; + "getAccountValue(address)": FunctionFragment; + "getClearingHouseConfig()": FunctionFragment; + "getExchange()": FunctionFragment; + "getInsuranceFund()": FunctionFragment; + "getOrderBook()": FunctionFragment; + "getQuoteToken()": FunctionFragment; + "getUniswapV3Factory()": FunctionFragment; + "getVault()": FunctionFragment; + "liquidate(address,address,uint256)": FunctionFragment; + "liquidate(address,address)": FunctionFragment; + "openPosition((address,bool,bool,uint256,uint256,uint256,uint160,bytes32))": FunctionFragment; + "quitMarket(address,address)": FunctionFragment; + "removeLiquidity((address,int24,int24,uint128,uint256,uint256,uint256))": FunctionFragment; + "settleAllFunding(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "addLiquidity" + | "cancelAllExcessOrders" + | "cancelExcessOrders" + | "closePosition" + | "getAccountBalance" + | "getAccountValue" + | "getClearingHouseConfig" + | "getExchange" + | "getInsuranceFund" + | "getOrderBook" + | "getQuoteToken" + | "getUniswapV3Factory" + | "getVault" + | "liquidate(address,address,uint256)" + | "liquidate(address,address)" + | "openPosition" + | "quitMarket" + | "removeLiquidity" + | "settleAllFunding" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "addLiquidity", + values: [IClearingHouse.AddLiquidityParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "cancelAllExcessOrders", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "cancelExcessOrders", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[] + ] + ): string; + encodeFunctionData( + functionFragment: "closePosition", + values: [IClearingHouse.ClosePositionParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "getAccountBalance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getAccountValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getClearingHouseConfig", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getExchange", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getInsuranceFund", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getOrderBook", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getQuoteToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUniswapV3Factory", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "getVault", values?: undefined): string; + encodeFunctionData( + functionFragment: "liquidate(address,address,uint256)", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "liquidate(address,address)", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "openPosition", + values: [IClearingHouse.OpenPositionParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "quitMarket", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "removeLiquidity", + values: [IClearingHouse.RemoveLiquidityParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "settleAllFunding", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "addLiquidity", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "cancelAllExcessOrders", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "cancelExcessOrders", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "closePosition", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getClearingHouseConfig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchange", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getInsuranceFund", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getOrderBook", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getQuoteToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUniswapV3Factory", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getVault", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "liquidate(address,address,uint256)", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "liquidate(address,address)", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "openPosition", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "quitMarket", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "removeLiquidity", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "settleAllFunding", + data: BytesLike + ): Result; + + events: { + "FundingPaymentSettled(address,address,int256)": EventFragment; + "LiquidityChanged(address,address,address,int24,int24,int256,int256,int128,uint256)": EventFragment; + "PositionChanged(address,address,int256,int256,uint256,int256,int256,uint256)": EventFragment; + "PositionClosed(address,address,int256,int256,int256,int256,uint256)": EventFragment; + "PositionLiquidated(address,address,uint256,uint256,uint256,address)": EventFragment; + "ReferredPositionChanged(bytes32)": EventFragment; + "TrustedForwarderChanged(address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "FundingPaymentSettled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "LiquidityChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "PositionChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "PositionClosed"): EventFragment; + getEvent(nameOrSignatureOrTopic: "PositionLiquidated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ReferredPositionChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TrustedForwarderChanged"): EventFragment; +} + +export interface FundingPaymentSettledEventObject { + trader: string; + baseToken: string; + fundingPayment: BigNumber; +} +export type FundingPaymentSettledEvent = TypedEvent< + [string, string, BigNumber], + FundingPaymentSettledEventObject +>; + +export type FundingPaymentSettledEventFilter = + TypedEventFilter; + +export interface LiquidityChangedEventObject { + maker: string; + baseToken: string; + quoteToken: string; + lowerTick: number; + upperTick: number; + base: BigNumber; + quote: BigNumber; + liquidity: BigNumber; + quoteFee: BigNumber; +} +export type LiquidityChangedEvent = TypedEvent< + [ + string, + string, + string, + number, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber + ], + LiquidityChangedEventObject +>; + +export type LiquidityChangedEventFilter = + TypedEventFilter; + +export interface PositionChangedEventObject { + trader: string; + baseToken: string; + exchangedPositionSize: BigNumber; + exchangedPositionNotional: BigNumber; + fee: BigNumber; + openNotional: BigNumber; + realizedPnl: BigNumber; + sqrtPriceAfterX96: BigNumber; +} +export type PositionChangedEvent = TypedEvent< + [ + string, + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber + ], + PositionChangedEventObject +>; + +export type PositionChangedEventFilter = TypedEventFilter; + +export interface PositionClosedEventObject { + trader: string; + baseToken: string; + closedPositionSize: BigNumber; + closedPositionNotional: BigNumber; + openNotional: BigNumber; + realizedPnl: BigNumber; + closedPrice: BigNumber; +} +export type PositionClosedEvent = TypedEvent< + [string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber], + PositionClosedEventObject +>; + +export type PositionClosedEventFilter = TypedEventFilter; + +export interface PositionLiquidatedEventObject { + trader: string; + baseToken: string; + positionNotional: BigNumber; + positionSize: BigNumber; + liquidationFee: BigNumber; + liquidator: string; +} +export type PositionLiquidatedEvent = TypedEvent< + [string, string, BigNumber, BigNumber, BigNumber, string], + PositionLiquidatedEventObject +>; + +export type PositionLiquidatedEventFilter = + TypedEventFilter; + +export interface ReferredPositionChangedEventObject { + referralCode: string; +} +export type ReferredPositionChangedEvent = TypedEvent< + [string], + ReferredPositionChangedEventObject +>; + +export type ReferredPositionChangedEventFilter = + TypedEventFilter; + +export interface TrustedForwarderChangedEventObject { + forwarder: string; +} +export type TrustedForwarderChangedEvent = TypedEvent< + [string], + TrustedForwarderChangedEventObject +>; + +export type TrustedForwarderChangedEventFilter = + TypedEventFilter; + +export interface IClearingHouse extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IClearingHouseInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + addLiquidity( + params: IClearingHouse.AddLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelAllExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + orderIds: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + closePosition( + params: IClearingHouse.ClosePositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance( + overrides?: CallOverrides + ): Promise<[string] & { accountBalance: string }>; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { accountValue: BigNumber }>; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise<[string] & { clearingHouseConfig: string }>; + + getExchange( + overrides?: CallOverrides + ): Promise<[string] & { exchange: string }>; + + getInsuranceFund( + overrides?: CallOverrides + ): Promise<[string] & { insuranceFund: string }>; + + getOrderBook( + overrides?: CallOverrides + ): Promise<[string] & { orderBook: string }>; + + getQuoteToken( + overrides?: CallOverrides + ): Promise<[string] & { quoteToken: string }>; + + getUniswapV3Factory( + overrides?: CallOverrides + ): Promise<[string] & { factory: string }>; + + getVault(overrides?: CallOverrides): Promise<[string] & { vault: string }>; + + "liquidate(address,address,uint256)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + oppositeAmountBound: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + "liquidate(address,address)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quitMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + removeLiquidity( + params: IClearingHouse.RemoveLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleAllFunding( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + addLiquidity( + params: IClearingHouse.AddLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelAllExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + orderIds: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + closePosition( + params: IClearingHouse.ClosePositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory(overrides?: CallOverrides): Promise; + + getVault(overrides?: CallOverrides): Promise; + + "liquidate(address,address,uint256)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + oppositeAmountBound: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + "liquidate(address,address)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quitMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + removeLiquidity( + params: IClearingHouse.RemoveLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleAllFunding( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + addLiquidity( + params: IClearingHouse.AddLiquidityParamsStruct, + overrides?: CallOverrides + ): Promise; + + cancelAllExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + cancelExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + orderIds: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + + closePosition( + params: IClearingHouse.ClosePositionParamsStruct, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber] & { base: BigNumber; quote: BigNumber }>; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory(overrides?: CallOverrides): Promise; + + getVault(overrides?: CallOverrides): Promise; + + "liquidate(address,address,uint256)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + oppositeAmountBound: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, boolean] & { + base: BigNumber; + quote: BigNumber; + isPartialClose: boolean; + } + >; + + "liquidate(address,address)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber] & { base: BigNumber; quote: BigNumber }>; + + quitMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber] & { base: BigNumber; quote: BigNumber }>; + + removeLiquidity( + params: IClearingHouse.RemoveLiquidityParamsStruct, + overrides?: CallOverrides + ): Promise; + + settleAllFunding( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "FundingPaymentSettled(address,address,int256)"( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + fundingPayment?: null + ): FundingPaymentSettledEventFilter; + FundingPaymentSettled( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + fundingPayment?: null + ): FundingPaymentSettledEventFilter; + + "LiquidityChanged(address,address,address,int24,int24,int256,int256,int128,uint256)"( + maker?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + quoteToken?: PromiseOrValue | null, + lowerTick?: null, + upperTick?: null, + base?: null, + quote?: null, + liquidity?: null, + quoteFee?: null + ): LiquidityChangedEventFilter; + LiquidityChanged( + maker?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + quoteToken?: PromiseOrValue | null, + lowerTick?: null, + upperTick?: null, + base?: null, + quote?: null, + liquidity?: null, + quoteFee?: null + ): LiquidityChangedEventFilter; + + "PositionChanged(address,address,int256,int256,uint256,int256,int256,uint256)"( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + exchangedPositionSize?: null, + exchangedPositionNotional?: null, + fee?: null, + openNotional?: null, + realizedPnl?: null, + sqrtPriceAfterX96?: null + ): PositionChangedEventFilter; + PositionChanged( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + exchangedPositionSize?: null, + exchangedPositionNotional?: null, + fee?: null, + openNotional?: null, + realizedPnl?: null, + sqrtPriceAfterX96?: null + ): PositionChangedEventFilter; + + "PositionClosed(address,address,int256,int256,int256,int256,uint256)"( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + closedPositionSize?: null, + closedPositionNotional?: null, + openNotional?: null, + realizedPnl?: null, + closedPrice?: null + ): PositionClosedEventFilter; + PositionClosed( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + closedPositionSize?: null, + closedPositionNotional?: null, + openNotional?: null, + realizedPnl?: null, + closedPrice?: null + ): PositionClosedEventFilter; + + "PositionLiquidated(address,address,uint256,uint256,uint256,address)"( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + positionNotional?: null, + positionSize?: null, + liquidationFee?: null, + liquidator?: null + ): PositionLiquidatedEventFilter; + PositionLiquidated( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + positionNotional?: null, + positionSize?: null, + liquidationFee?: null, + liquidator?: null + ): PositionLiquidatedEventFilter; + + "ReferredPositionChanged(bytes32)"( + referralCode?: PromiseOrValue | null + ): ReferredPositionChangedEventFilter; + ReferredPositionChanged( + referralCode?: PromiseOrValue | null + ): ReferredPositionChangedEventFilter; + + "TrustedForwarderChanged(address)"( + forwarder?: PromiseOrValue | null + ): TrustedForwarderChangedEventFilter; + TrustedForwarderChanged( + forwarder?: PromiseOrValue | null + ): TrustedForwarderChangedEventFilter; + }; + + estimateGas: { + addLiquidity( + params: IClearingHouse.AddLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelAllExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + orderIds: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + closePosition( + params: IClearingHouse.ClosePositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory(overrides?: CallOverrides): Promise; + + getVault(overrides?: CallOverrides): Promise; + + "liquidate(address,address,uint256)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + oppositeAmountBound: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + "liquidate(address,address)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quitMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + removeLiquidity( + params: IClearingHouse.RemoveLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleAllFunding( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + addLiquidity( + params: IClearingHouse.AddLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelAllExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancelExcessOrders( + maker: PromiseOrValue, + baseToken: PromiseOrValue, + orderIds: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + closePosition( + params: IClearingHouse.ClosePositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory( + overrides?: CallOverrides + ): Promise; + + getVault(overrides?: CallOverrides): Promise; + + "liquidate(address,address,uint256)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + oppositeAmountBound: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + "liquidate(address,address)"( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quitMarket( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + removeLiquidity( + params: IClearingHouse.RemoveLiquidityParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + settleAllFunding( + trader: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/perp/IExchange.ts b/src/typechain-types/contracts/external/perp/IExchange.ts new file mode 100644 index 0000000..36acf38 --- /dev/null +++ b/src/typechain-types/contracts/external/perp/IExchange.ts @@ -0,0 +1,606 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export type GrowthStruct = { + twPremiumX96: PromiseOrValue; + twPremiumDivBySqrtPriceX96: PromiseOrValue; +}; + +export type GrowthStructOutput = [BigNumber, BigNumber] & { + twPremiumX96: BigNumber; + twPremiumDivBySqrtPriceX96: BigNumber; +}; + +export declare namespace IExchange { + export type RealizePnlParamsStruct = { + trader: PromiseOrValue; + baseToken: PromiseOrValue; + base: PromiseOrValue; + quote: PromiseOrValue; + }; + + export type RealizePnlParamsStructOutput = [ + string, + string, + BigNumber, + BigNumber + ] & { trader: string; baseToken: string; base: BigNumber; quote: BigNumber }; + + export type SwapParamsStruct = { + trader: PromiseOrValue; + baseToken: PromiseOrValue; + isBaseToQuote: PromiseOrValue; + isExactInput: PromiseOrValue; + isClose: PromiseOrValue; + amount: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + }; + + export type SwapParamsStructOutput = [ + string, + string, + boolean, + boolean, + boolean, + BigNumber, + BigNumber + ] & { + trader: string; + baseToken: string; + isBaseToQuote: boolean; + isExactInput: boolean; + isClose: boolean; + amount: BigNumber; + sqrtPriceLimitX96: BigNumber; + }; + + export type SwapResponseStruct = { + base: PromiseOrValue; + quote: PromiseOrValue; + exchangedPositionSize: PromiseOrValue; + exchangedPositionNotional: PromiseOrValue; + fee: PromiseOrValue; + insuranceFundFee: PromiseOrValue; + pnlToBeRealized: PromiseOrValue; + sqrtPriceAfterX96: PromiseOrValue; + tick: PromiseOrValue; + isPartialClose: PromiseOrValue; + }; + + export type SwapResponseStructOutput = [ + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + number, + boolean + ] & { + base: BigNumber; + quote: BigNumber; + exchangedPositionSize: BigNumber; + exchangedPositionNotional: BigNumber; + fee: BigNumber; + insuranceFundFee: BigNumber; + pnlToBeRealized: BigNumber; + sqrtPriceAfterX96: BigNumber; + tick: number; + isPartialClose: boolean; + }; +} + +export interface IExchangeInterface extends utils.Interface { + functions: { + "getAccountBalance()": FunctionFragment; + "getAllPendingFundingPayment(address)": FunctionFragment; + "getClearingHouseConfig()": FunctionFragment; + "getMaxTickCrossedWithinBlock(address)": FunctionFragment; + "getOrderBook()": FunctionFragment; + "getPendingFundingPayment(address,address)": FunctionFragment; + "getPnlToBeRealized((address,address,int256,int256))": FunctionFragment; + "getSqrtMarkTwapX96(address,uint32)": FunctionFragment; + "isOverPriceSpread(address)": FunctionFragment; + "settleFunding(address,address)": FunctionFragment; + "swap((address,address,bool,bool,bool,uint256,uint160))": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "getAccountBalance" + | "getAllPendingFundingPayment" + | "getClearingHouseConfig" + | "getMaxTickCrossedWithinBlock" + | "getOrderBook" + | "getPendingFundingPayment" + | "getPnlToBeRealized" + | "getSqrtMarkTwapX96" + | "isOverPriceSpread" + | "settleFunding" + | "swap" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getAccountBalance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getAllPendingFundingPayment", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getClearingHouseConfig", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getMaxTickCrossedWithinBlock", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getOrderBook", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPendingFundingPayment", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPnlToBeRealized", + values: [IExchange.RealizePnlParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "getSqrtMarkTwapX96", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isOverPriceSpread", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "settleFunding", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "swap", + values: [IExchange.SwapParamsStruct] + ): string; + + decodeFunctionResult( + functionFragment: "getAccountBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAllPendingFundingPayment", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getClearingHouseConfig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMaxTickCrossedWithinBlock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getOrderBook", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPendingFundingPayment", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPnlToBeRealized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getSqrtMarkTwapX96", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOverPriceSpread", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "settleFunding", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; + + events: { + "AccountBalanceChanged(address)": EventFragment; + "FundingUpdated(address,uint256,uint256)": EventFragment; + "MaxTickCrossedWithinBlockChanged(address,uint24)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "AccountBalanceChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "FundingUpdated"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "MaxTickCrossedWithinBlockChanged" + ): EventFragment; +} + +export interface AccountBalanceChangedEventObject { + accountBalance: string; +} +export type AccountBalanceChangedEvent = TypedEvent< + [string], + AccountBalanceChangedEventObject +>; + +export type AccountBalanceChangedEventFilter = + TypedEventFilter; + +export interface FundingUpdatedEventObject { + baseToken: string; + markTwap: BigNumber; + indexTwap: BigNumber; +} +export type FundingUpdatedEvent = TypedEvent< + [string, BigNumber, BigNumber], + FundingUpdatedEventObject +>; + +export type FundingUpdatedEventFilter = TypedEventFilter; + +export interface MaxTickCrossedWithinBlockChangedEventObject { + baseToken: string; + maxTickCrossedWithinBlock: number; +} +export type MaxTickCrossedWithinBlockChangedEvent = TypedEvent< + [string, number], + MaxTickCrossedWithinBlockChangedEventObject +>; + +export type MaxTickCrossedWithinBlockChangedEventFilter = + TypedEventFilter; + +export interface IExchange extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IExchangeInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getAccountBalance( + overrides?: CallOverrides + ): Promise<[string] & { accountBalance: string }>; + + getAllPendingFundingPayment( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { pendingFundingPayment: BigNumber }>; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise<[string] & { clearingHouse: string }>; + + getMaxTickCrossedWithinBlock( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number] & { maxTickCrossedWithinBlock: number }>; + + getOrderBook( + overrides?: CallOverrides + ): Promise<[string] & { orderBook: string }>; + + getPendingFundingPayment( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { pendingFundingPayment: BigNumber }>; + + getPnlToBeRealized( + params: IExchange.RealizePnlParamsStruct, + overrides?: CallOverrides + ): Promise<[BigNumber] & { pnlToBeRealized: BigNumber }>; + + getSqrtMarkTwapX96( + baseToken: PromiseOrValue, + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { sqrtMarkTwapX96: BigNumber }>; + + isOverPriceSpread( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + settleFunding( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swap( + params: IExchange.SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAllPendingFundingPayment( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getMaxTickCrossedWithinBlock( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPendingFundingPayment( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlToBeRealized( + params: IExchange.RealizePnlParamsStruct, + overrides?: CallOverrides + ): Promise; + + getSqrtMarkTwapX96( + baseToken: PromiseOrValue, + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOverPriceSpread( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + settleFunding( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swap( + params: IExchange.SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + getAccountBalance(overrides?: CallOverrides): Promise; + + getAllPendingFundingPayment( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getMaxTickCrossedWithinBlock( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPendingFundingPayment( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlToBeRealized( + params: IExchange.RealizePnlParamsStruct, + overrides?: CallOverrides + ): Promise; + + getSqrtMarkTwapX96( + baseToken: PromiseOrValue, + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOverPriceSpread( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + settleFunding( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, GrowthStructOutput] & { + fundingPayment: BigNumber; + fundingGrowthGlobal: GrowthStructOutput; + } + >; + + swap( + params: IExchange.SwapParamsStruct, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "AccountBalanceChanged(address)"( + accountBalance?: null + ): AccountBalanceChangedEventFilter; + AccountBalanceChanged( + accountBalance?: null + ): AccountBalanceChangedEventFilter; + + "FundingUpdated(address,uint256,uint256)"( + baseToken?: PromiseOrValue | null, + markTwap?: null, + indexTwap?: null + ): FundingUpdatedEventFilter; + FundingUpdated( + baseToken?: PromiseOrValue | null, + markTwap?: null, + indexTwap?: null + ): FundingUpdatedEventFilter; + + "MaxTickCrossedWithinBlockChanged(address,uint24)"( + baseToken?: PromiseOrValue | null, + maxTickCrossedWithinBlock?: null + ): MaxTickCrossedWithinBlockChangedEventFilter; + MaxTickCrossedWithinBlockChanged( + baseToken?: PromiseOrValue | null, + maxTickCrossedWithinBlock?: null + ): MaxTickCrossedWithinBlockChangedEventFilter; + }; + + estimateGas: { + getAccountBalance(overrides?: CallOverrides): Promise; + + getAllPendingFundingPayment( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getMaxTickCrossedWithinBlock( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPendingFundingPayment( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlToBeRealized( + params: IExchange.RealizePnlParamsStruct, + overrides?: CallOverrides + ): Promise; + + getSqrtMarkTwapX96( + baseToken: PromiseOrValue, + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOverPriceSpread( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + settleFunding( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swap( + params: IExchange.SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + getAccountBalance(overrides?: CallOverrides): Promise; + + getAllPendingFundingPayment( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise; + + getMaxTickCrossedWithinBlock( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getOrderBook(overrides?: CallOverrides): Promise; + + getPendingFundingPayment( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlToBeRealized( + params: IExchange.RealizePnlParamsStruct, + overrides?: CallOverrides + ): Promise; + + getSqrtMarkTwapX96( + baseToken: PromiseOrValue, + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOverPriceSpread( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + settleFunding( + trader: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swap( + params: IExchange.SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/perp/IMarketRegistry.ts b/src/typechain-types/contracts/external/perp/IMarketRegistry.ts new file mode 100644 index 0000000..d9ae6d2 --- /dev/null +++ b/src/typechain-types/contracts/external/perp/IMarketRegistry.ts @@ -0,0 +1,583 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export declare namespace IMarketRegistry { + export type MarketInfoStruct = { + pool: PromiseOrValue; + exchangeFeeRatio: PromiseOrValue; + uniswapFeeRatio: PromiseOrValue; + insuranceFundFeeRatio: PromiseOrValue; + }; + + export type MarketInfoStructOutput = [string, number, number, number] & { + pool: string; + exchangeFeeRatio: number; + uniswapFeeRatio: number; + insuranceFundFeeRatio: number; + }; +} + +export interface IMarketRegistryInterface extends utils.Interface { + functions: { + "addPool(address,uint24)": FunctionFragment; + "getFeeRatio(address)": FunctionFragment; + "getInsuranceFundFeeRatio(address)": FunctionFragment; + "getMarketInfo(address)": FunctionFragment; + "getMaxOrdersPerMarket()": FunctionFragment; + "getPool(address)": FunctionFragment; + "getQuoteToken()": FunctionFragment; + "getUniswapV3Factory()": FunctionFragment; + "hasPool(address)": FunctionFragment; + "setFeeRatio(address,uint24)": FunctionFragment; + "setInsuranceFundFeeRatio(address,uint24)": FunctionFragment; + "setMaxOrdersPerMarket(uint8)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "addPool" + | "getFeeRatio" + | "getInsuranceFundFeeRatio" + | "getMarketInfo" + | "getMaxOrdersPerMarket" + | "getPool" + | "getQuoteToken" + | "getUniswapV3Factory" + | "hasPool" + | "setFeeRatio" + | "setInsuranceFundFeeRatio" + | "setMaxOrdersPerMarket" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "addPool", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getFeeRatio", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getInsuranceFundFeeRatio", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getMarketInfo", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getMaxOrdersPerMarket", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPool", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getQuoteToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUniswapV3Factory", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "hasPool", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setFeeRatio", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setInsuranceFundFeeRatio", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setMaxOrdersPerMarket", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "addPool", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getFeeRatio", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getInsuranceFundFeeRatio", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMarketInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMaxOrdersPerMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getPool", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getQuoteToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUniswapV3Factory", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasPool", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRatio", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setInsuranceFundFeeRatio", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setMaxOrdersPerMarket", + data: BytesLike + ): Result; + + events: { + "FeeRatioChanged(address,uint24)": EventFragment; + "InsuranceFundFeeRatioChanged(address,uint24)": EventFragment; + "MaxOrdersPerMarketChanged(uint8)": EventFragment; + "PoolAdded(address,uint24,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "FeeRatioChanged"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "InsuranceFundFeeRatioChanged" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "MaxOrdersPerMarketChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "PoolAdded"): EventFragment; +} + +export interface FeeRatioChangedEventObject { + baseToken: string; + feeRatio: number; +} +export type FeeRatioChangedEvent = TypedEvent< + [string, number], + FeeRatioChangedEventObject +>; + +export type FeeRatioChangedEventFilter = TypedEventFilter; + +export interface InsuranceFundFeeRatioChangedEventObject { + baseToken: string; + feeRatio: number; +} +export type InsuranceFundFeeRatioChangedEvent = TypedEvent< + [string, number], + InsuranceFundFeeRatioChangedEventObject +>; + +export type InsuranceFundFeeRatioChangedEventFilter = + TypedEventFilter; + +export interface MaxOrdersPerMarketChangedEventObject { + maxOrdersPerMarket: number; +} +export type MaxOrdersPerMarketChangedEvent = TypedEvent< + [number], + MaxOrdersPerMarketChangedEventObject +>; + +export type MaxOrdersPerMarketChangedEventFilter = + TypedEventFilter; + +export interface PoolAddedEventObject { + baseToken: string; + feeRatio: number; + pool: string; +} +export type PoolAddedEvent = TypedEvent< + [string, number, string], + PoolAddedEventObject +>; + +export type PoolAddedEventFilter = TypedEventFilter; + +export interface IMarketRegistry extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IMarketRegistryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + addPool( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number] & { feeRatio: number }>; + + getInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number] & { feeRatio: number }>; + + getMarketInfo( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [IMarketRegistry.MarketInfoStructOutput] & { + info: IMarketRegistry.MarketInfoStructOutput; + } + >; + + getMaxOrdersPerMarket( + overrides?: CallOverrides + ): Promise<[number] & { maxOrdersPerMarket: number }>; + + getPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { pool: string }>; + + getQuoteToken( + overrides?: CallOverrides + ): Promise<[string] & { quoteToken: string }>; + + getUniswapV3Factory( + overrides?: CallOverrides + ): Promise<[string] & { factory: string }>; + + hasPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { hasPool: boolean }>; + + setFeeRatio( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + insuranceFundFeeRatioArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setMaxOrdersPerMarket( + maxOrdersPerMarketArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + addPool( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarketInfo( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxOrdersPerMarket(overrides?: CallOverrides): Promise; + + getPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory(overrides?: CallOverrides): Promise; + + hasPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setFeeRatio( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + insuranceFundFeeRatioArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setMaxOrdersPerMarket( + maxOrdersPerMarketArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + addPool( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarketInfo( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxOrdersPerMarket(overrides?: CallOverrides): Promise; + + getPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory(overrides?: CallOverrides): Promise; + + hasPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setFeeRatio( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + insuranceFundFeeRatioArg: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setMaxOrdersPerMarket( + maxOrdersPerMarketArg: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "FeeRatioChanged(address,uint24)"( + baseToken?: null, + feeRatio?: null + ): FeeRatioChangedEventFilter; + FeeRatioChanged( + baseToken?: null, + feeRatio?: null + ): FeeRatioChangedEventFilter; + + "InsuranceFundFeeRatioChanged(address,uint24)"( + baseToken?: null, + feeRatio?: null + ): InsuranceFundFeeRatioChangedEventFilter; + InsuranceFundFeeRatioChanged( + baseToken?: null, + feeRatio?: null + ): InsuranceFundFeeRatioChangedEventFilter; + + "MaxOrdersPerMarketChanged(uint8)"( + maxOrdersPerMarket?: null + ): MaxOrdersPerMarketChangedEventFilter; + MaxOrdersPerMarketChanged( + maxOrdersPerMarket?: null + ): MaxOrdersPerMarketChangedEventFilter; + + "PoolAdded(address,uint24,address)"( + baseToken?: PromiseOrValue | null, + feeRatio?: PromiseOrValue | null, + pool?: PromiseOrValue | null + ): PoolAddedEventFilter; + PoolAdded( + baseToken?: PromiseOrValue | null, + feeRatio?: PromiseOrValue | null, + pool?: PromiseOrValue | null + ): PoolAddedEventFilter; + }; + + estimateGas: { + addPool( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarketInfo( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxOrdersPerMarket(overrides?: CallOverrides): Promise; + + getPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory(overrides?: CallOverrides): Promise; + + hasPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setFeeRatio( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + insuranceFundFeeRatioArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setMaxOrdersPerMarket( + maxOrdersPerMarketArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + addPool( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarketInfo( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxOrdersPerMarket( + overrides?: CallOverrides + ): Promise; + + getPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getQuoteToken(overrides?: CallOverrides): Promise; + + getUniswapV3Factory( + overrides?: CallOverrides + ): Promise; + + hasPool( + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setFeeRatio( + baseToken: PromiseOrValue, + feeRatio: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setInsuranceFundFeeRatio( + baseToken: PromiseOrValue, + insuranceFundFeeRatioArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setMaxOrdersPerMarket( + maxOrdersPerMarketArg: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/perp/IVault.ts b/src/typechain-types/contracts/external/perp/IVault.ts new file mode 100644 index 0000000..e0fd911 --- /dev/null +++ b/src/typechain-types/contracts/external/perp/IVault.ts @@ -0,0 +1,1239 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IVaultInterface extends utils.Interface { + functions: { + "decimals()": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; + "depositEther()": FunctionFragment; + "depositEtherFor(address)": FunctionFragment; + "depositFor(address,address,uint256)": FunctionFragment; + "getAccountBalance()": FunctionFragment; + "getAccountValue(address)": FunctionFragment; + "getBalance(address)": FunctionFragment; + "getBalanceByToken(address,address)": FunctionFragment; + "getClearingHouse()": FunctionFragment; + "getClearingHouseConfig()": FunctionFragment; + "getCollateralManager()": FunctionFragment; + "getCollateralMmRatio()": FunctionFragment; + "getCollateralTokens(address)": FunctionFragment; + "getExchange()": FunctionFragment; + "getFreeCollateral(address)": FunctionFragment; + "getFreeCollateralByRatio(address,uint24)": FunctionFragment; + "getFreeCollateralByToken(address,address)": FunctionFragment; + "getInsuranceFund()": FunctionFragment; + "getLiquidatableCollateralBySettlement(address,uint256)": FunctionFragment; + "getMarginRequirementForCollateralLiquidation(address)": FunctionFragment; + "getMaxRepaidSettlementAndLiquidatableCollateral(address,address)": FunctionFragment; + "getRepaidSettlementByCollateral(address,uint256)": FunctionFragment; + "getSettlementToken()": FunctionFragment; + "getSettlementTokenValue(address)": FunctionFragment; + "getTotalDebt()": FunctionFragment; + "getWETH9()": FunctionFragment; + "isLiquidatable(address)": FunctionFragment; + "liquidateCollateral(address,address,uint256,bool)": FunctionFragment; + "withdraw(address,uint256)": FunctionFragment; + "withdrawEther(uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "decimals" + | "deposit" + | "depositEther" + | "depositEtherFor" + | "depositFor" + | "getAccountBalance" + | "getAccountValue" + | "getBalance" + | "getBalanceByToken" + | "getClearingHouse" + | "getClearingHouseConfig" + | "getCollateralManager" + | "getCollateralMmRatio" + | "getCollateralTokens" + | "getExchange" + | "getFreeCollateral" + | "getFreeCollateralByRatio" + | "getFreeCollateralByToken" + | "getInsuranceFund" + | "getLiquidatableCollateralBySettlement" + | "getMarginRequirementForCollateralLiquidation" + | "getMaxRepaidSettlementAndLiquidatableCollateral" + | "getRepaidSettlementByCollateral" + | "getSettlementToken" + | "getSettlementTokenValue" + | "getTotalDebt" + | "getWETH9" + | "isLiquidatable" + | "liquidateCollateral" + | "withdraw" + | "withdrawEther" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositEther", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "depositEtherFor", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositFor", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getAccountBalance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getAccountValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getBalance", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getBalanceByToken", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getClearingHouse", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getClearingHouseConfig", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getCollateralManager", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getCollateralMmRatio", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getCollateralTokens", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getExchange", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateral", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateralByRatio", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateralByToken", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getInsuranceFund", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getLiquidatableCollateralBySettlement", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getMarginRequirementForCollateralLiquidation", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getMaxRepaidSettlementAndLiquidatableCollateral", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getRepaidSettlementByCollateral", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getSettlementToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getSettlementTokenValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalDebt", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "getWETH9", values?: undefined): string; + encodeFunctionData( + functionFragment: "isLiquidatable", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "liquidateCollateral", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdrawEther", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositEther", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "depositEtherFor", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "depositFor", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getAccountBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountValue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getBalance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getBalanceByToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getClearingHouse", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getClearingHouseConfig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCollateralManager", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCollateralMmRatio", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCollateralTokens", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchange", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateralByRatio", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateralByToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getInsuranceFund", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getLiquidatableCollateralBySettlement", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMarginRequirementForCollateralLiquidation", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMaxRepaidSettlementAndLiquidatableCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRepaidSettlementByCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getSettlementToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getSettlementTokenValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalDebt", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getWETH9", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isLiquidatable", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "liquidateCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawEther", + data: BytesLike + ): Result; + + events: { + "ClearingHouseChanged(address)": EventFragment; + "CollateralLiquidated(address,address,address,uint256,uint256,uint256,uint24)": EventFragment; + "CollateralManagerChanged(address)": EventFragment; + "Deposited(address,address,uint256)": EventFragment; + "TrustedForwarderChanged(address)": EventFragment; + "WETH9Changed(address)": EventFragment; + "Withdrawn(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ClearingHouseChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "CollateralLiquidated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "CollateralManagerChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TrustedForwarderChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "WETH9Changed"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Withdrawn"): EventFragment; +} + +export interface ClearingHouseChangedEventObject { + clearingHouse: string; +} +export type ClearingHouseChangedEvent = TypedEvent< + [string], + ClearingHouseChangedEventObject +>; + +export type ClearingHouseChangedEventFilter = + TypedEventFilter; + +export interface CollateralLiquidatedEventObject { + trader: string; + baseToken: string; + liquidator: string; + collateral: BigNumber; + repaidSettlementWithoutInsuranceFundFeeX10_S: BigNumber; + insuranceFundFeeX10_S: BigNumber; + discountRatio: number; +} +export type CollateralLiquidatedEvent = TypedEvent< + [string, string, string, BigNumber, BigNumber, BigNumber, number], + CollateralLiquidatedEventObject +>; + +export type CollateralLiquidatedEventFilter = + TypedEventFilter; + +export interface CollateralManagerChangedEventObject { + collateralManager: string; +} +export type CollateralManagerChangedEvent = TypedEvent< + [string], + CollateralManagerChangedEventObject +>; + +export type CollateralManagerChangedEventFilter = + TypedEventFilter; + +export interface DepositedEventObject { + baseToken: string; + trader: string; + amount: BigNumber; +} +export type DepositedEvent = TypedEvent< + [string, string, BigNumber], + DepositedEventObject +>; + +export type DepositedEventFilter = TypedEventFilter; + +export interface TrustedForwarderChangedEventObject { + trustedForwarder: string; +} +export type TrustedForwarderChangedEvent = TypedEvent< + [string], + TrustedForwarderChangedEventObject +>; + +export type TrustedForwarderChangedEventFilter = + TypedEventFilter; + +export interface WETH9ChangedEventObject { + WETH9: string; +} +export type WETH9ChangedEvent = TypedEvent<[string], WETH9ChangedEventObject>; + +export type WETH9ChangedEventFilter = TypedEventFilter; + +export interface WithdrawnEventObject { + baseToken: string; + trader: string; + amount: BigNumber; +} +export type WithdrawnEvent = TypedEvent< + [string, string, BigNumber], + WithdrawnEventObject +>; + +export type WithdrawnEventFilter = TypedEventFilter; + +export interface IVault extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IVaultInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + decimals(overrides?: CallOverrides): Promise<[number]>; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositEther( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositEtherFor( + to: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositFor( + to: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance( + overrides?: CallOverrides + ): Promise<[string] & { accountBalance: string }>; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getBalance( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { balance: BigNumber }>; + + getBalanceByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { balance: BigNumber }>; + + getClearingHouse(overrides?: CallOverrides): Promise<[string]>; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise<[string] & { clearingHouseConfig: string }>; + + getCollateralManager(overrides?: CallOverrides): Promise<[string]>; + + getCollateralMmRatio(overrides?: CallOverrides): Promise<[number]>; + + getCollateralTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string[]] & { collateralTokens: string[] }>; + + getExchange(overrides?: CallOverrides): Promise<[string]>; + + getFreeCollateral( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { freeCollateral: BigNumber }>; + + getFreeCollateralByRatio( + trader: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { freeCollateralByRatio: BigNumber }>; + + getFreeCollateralByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { freeCollateral: BigNumber }>; + + getInsuranceFund(overrides?: CallOverrides): Promise<[string]>; + + getLiquidatableCollateralBySettlement( + token: PromiseOrValue, + settlementX10_S: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { collateral: BigNumber }>; + + getMarginRequirementForCollateralLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getMaxRepaidSettlementAndLiquidatableCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber] & { + maxRepaidSettlementX10_S: BigNumber; + maxLiquidatableCollateral: BigNumber; + } + >; + + getRepaidSettlementByCollateral( + token: PromiseOrValue, + collateral: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { settlementX10_S: BigNumber }>; + + getSettlementToken( + overrides?: CallOverrides + ): Promise<[string] & { settlementToken: string }>; + + getSettlementTokenValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getTotalDebt( + overrides?: CallOverrides + ): Promise<[BigNumber] & { debtAmount: BigNumber }>; + + getWETH9(overrides?: CallOverrides): Promise<[string]>; + + isLiquidatable( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + liquidateCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + isDenominatedInSettlementToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawEther( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + decimals(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositEther( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositEtherFor( + to: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositFor( + to: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalance( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouse(overrides?: CallOverrides): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getCollateralManager(overrides?: CallOverrides): Promise; + + getCollateralMmRatio(overrides?: CallOverrides): Promise; + + getCollateralTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getFreeCollateral( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + trader: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getLiquidatableCollateralBySettlement( + token: PromiseOrValue, + settlementX10_S: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarginRequirementForCollateralLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxRepaidSettlementAndLiquidatableCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber] & { + maxRepaidSettlementX10_S: BigNumber; + maxLiquidatableCollateral: BigNumber; + } + >; + + getRepaidSettlementByCollateral( + token: PromiseOrValue, + collateral: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getSettlementToken(overrides?: CallOverrides): Promise; + + getSettlementTokenValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebt(overrides?: CallOverrides): Promise; + + getWETH9(overrides?: CallOverrides): Promise; + + isLiquidatable( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + liquidateCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + isDenominatedInSettlementToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawEther( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + decimals(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositEther(overrides?: CallOverrides): Promise; + + depositEtherFor( + to: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositFor( + to: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalance( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouse(overrides?: CallOverrides): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getCollateralManager(overrides?: CallOverrides): Promise; + + getCollateralMmRatio(overrides?: CallOverrides): Promise; + + getCollateralTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getFreeCollateral( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + trader: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getLiquidatableCollateralBySettlement( + token: PromiseOrValue, + settlementX10_S: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarginRequirementForCollateralLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxRepaidSettlementAndLiquidatableCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber] & { + maxRepaidSettlementX10_S: BigNumber; + maxLiquidatableCollateral: BigNumber; + } + >; + + getRepaidSettlementByCollateral( + token: PromiseOrValue, + collateral: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getSettlementToken(overrides?: CallOverrides): Promise; + + getSettlementTokenValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebt(overrides?: CallOverrides): Promise; + + getWETH9(overrides?: CallOverrides): Promise; + + isLiquidatable( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + liquidateCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + isDenominatedInSettlementToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdrawEther( + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "ClearingHouseChanged(address)"( + clearingHouse?: PromiseOrValue | null + ): ClearingHouseChangedEventFilter; + ClearingHouseChanged( + clearingHouse?: PromiseOrValue | null + ): ClearingHouseChangedEventFilter; + + "CollateralLiquidated(address,address,address,uint256,uint256,uint256,uint24)"( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + liquidator?: PromiseOrValue | null, + collateral?: null, + repaidSettlementWithoutInsuranceFundFeeX10_S?: null, + insuranceFundFeeX10_S?: null, + discountRatio?: null + ): CollateralLiquidatedEventFilter; + CollateralLiquidated( + trader?: PromiseOrValue | null, + baseToken?: PromiseOrValue | null, + liquidator?: PromiseOrValue | null, + collateral?: null, + repaidSettlementWithoutInsuranceFundFeeX10_S?: null, + insuranceFundFeeX10_S?: null, + discountRatio?: null + ): CollateralLiquidatedEventFilter; + + "CollateralManagerChanged(address)"( + collateralManager?: PromiseOrValue | null + ): CollateralManagerChangedEventFilter; + CollateralManagerChanged( + collateralManager?: PromiseOrValue | null + ): CollateralManagerChangedEventFilter; + + "Deposited(address,address,uint256)"( + baseToken?: PromiseOrValue | null, + trader?: PromiseOrValue | null, + amount?: null + ): DepositedEventFilter; + Deposited( + baseToken?: PromiseOrValue | null, + trader?: PromiseOrValue | null, + amount?: null + ): DepositedEventFilter; + + "TrustedForwarderChanged(address)"( + trustedForwarder?: PromiseOrValue | null + ): TrustedForwarderChangedEventFilter; + TrustedForwarderChanged( + trustedForwarder?: PromiseOrValue | null + ): TrustedForwarderChangedEventFilter; + + "WETH9Changed(address)"( + WETH9?: PromiseOrValue | null + ): WETH9ChangedEventFilter; + WETH9Changed( + WETH9?: PromiseOrValue | null + ): WETH9ChangedEventFilter; + + "Withdrawn(address,address,uint256)"( + baseToken?: PromiseOrValue | null, + trader?: PromiseOrValue | null, + amount?: null + ): WithdrawnEventFilter; + Withdrawn( + baseToken?: PromiseOrValue | null, + trader?: PromiseOrValue | null, + amount?: null + ): WithdrawnEventFilter; + }; + + estimateGas: { + decimals(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositEther( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositEtherFor( + to: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositFor( + to: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalance( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouse(overrides?: CallOverrides): Promise; + + getClearingHouseConfig(overrides?: CallOverrides): Promise; + + getCollateralManager(overrides?: CallOverrides): Promise; + + getCollateralMmRatio(overrides?: CallOverrides): Promise; + + getCollateralTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getFreeCollateral( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + trader: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getLiquidatableCollateralBySettlement( + token: PromiseOrValue, + settlementX10_S: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarginRequirementForCollateralLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxRepaidSettlementAndLiquidatableCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRepaidSettlementByCollateral( + token: PromiseOrValue, + collateral: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getSettlementToken(overrides?: CallOverrides): Promise; + + getSettlementTokenValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebt(overrides?: CallOverrides): Promise; + + getWETH9(overrides?: CallOverrides): Promise; + + isLiquidatable( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + liquidateCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + isDenominatedInSettlementToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawEther( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + decimals(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositEther( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositEtherFor( + to: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + depositFor( + to: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountBalance(overrides?: CallOverrides): Promise; + + getAccountValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalance( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getClearingHouse(overrides?: CallOverrides): Promise; + + getClearingHouseConfig( + overrides?: CallOverrides + ): Promise; + + getCollateralManager( + overrides?: CallOverrides + ): Promise; + + getCollateralMmRatio( + overrides?: CallOverrides + ): Promise; + + getCollateralTokens( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchange(overrides?: CallOverrides): Promise; + + getFreeCollateral( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + trader: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getInsuranceFund(overrides?: CallOverrides): Promise; + + getLiquidatableCollateralBySettlement( + token: PromiseOrValue, + settlementX10_S: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMarginRequirementForCollateralLiquidation( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMaxRepaidSettlementAndLiquidatableCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRepaidSettlementByCollateral( + token: PromiseOrValue, + collateral: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getSettlementToken( + overrides?: CallOverrides + ): Promise; + + getSettlementTokenValue( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebt(overrides?: CallOverrides): Promise; + + getWETH9(overrides?: CallOverrides): Promise; + + isLiquidatable( + trader: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + liquidateCollateral( + trader: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + isDenominatedInSettlementToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawEther( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/perp/index.ts b/src/typechain-types/contracts/external/perp/index.ts new file mode 100644 index 0000000..4e16655 --- /dev/null +++ b/src/typechain-types/contracts/external/perp/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IAccountBalance } from "./IAccountBalance"; +export type { IClearingHouse } from "./IClearingHouse"; +export type { IExchange } from "./IExchange"; +export type { IMarketRegistry } from "./IMarketRegistry"; +export type { IVault } from "./IVault"; diff --git a/src/typechain-types/contracts/external/rage-trade/IBorrower.ts b/src/typechain-types/contracts/external/rage-trade/IBorrower.ts new file mode 100644 index 0000000..03d2dec --- /dev/null +++ b/src/typechain-types/contracts/external/rage-trade/IBorrower.ts @@ -0,0 +1,119 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IBorrowerInterface extends utils.Interface { + functions: { + "getUsdcBorrowed()": FunctionFragment; + "harvestFees()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "getUsdcBorrowed" | "harvestFees" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getUsdcBorrowed", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "harvestFees", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "getUsdcBorrowed", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "harvestFees", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IBorrower extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IBorrowerInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getUsdcBorrowed(overrides?: CallOverrides): Promise<[BigNumber]>; + + harvestFees( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + getUsdcBorrowed(overrides?: CallOverrides): Promise; + + harvestFees( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + getUsdcBorrowed(overrides?: CallOverrides): Promise; + + harvestFees(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + getUsdcBorrowed(overrides?: CallOverrides): Promise; + + harvestFees( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + getUsdcBorrowed(overrides?: CallOverrides): Promise; + + harvestFees( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/rage-trade/IDnGmxSeniorVault.ts b/src/typechain-types/contracts/external/rage-trade/IDnGmxSeniorVault.ts new file mode 100644 index 0000000..0cdc368 --- /dev/null +++ b/src/typechain-types/contracts/external/rage-trade/IDnGmxSeniorVault.ts @@ -0,0 +1,1242 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IDnGmxSeniorVaultInterface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "asset()": FunctionFragment; + "availableBorrow(address)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "borrow(uint256)": FunctionFragment; + "convertToAssets(uint256)": FunctionFragment; + "convertToShares(uint256)": FunctionFragment; + "deposit(uint256,address)": FunctionFragment; + "depositCap()": FunctionFragment; + "getEthRewardsSplitRate()": FunctionFragment; + "getPriceX128()": FunctionFragment; + "getVaultMarketValue()": FunctionFragment; + "maxDeposit(address)": FunctionFragment; + "maxMint(address)": FunctionFragment; + "maxRedeem(address)": FunctionFragment; + "maxWithdraw(address)": FunctionFragment; + "mint(uint256,address)": FunctionFragment; + "previewDeposit(uint256)": FunctionFragment; + "previewMint(uint256)": FunctionFragment; + "previewRedeem(uint256)": FunctionFragment; + "previewWithdraw(uint256)": FunctionFragment; + "redeem(uint256,address,address)": FunctionFragment; + "repay(uint256)": FunctionFragment; + "totalAssets()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + "withdraw(uint256,address,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "asset" + | "availableBorrow" + | "balanceOf" + | "borrow" + | "convertToAssets" + | "convertToShares" + | "deposit" + | "depositCap" + | "getEthRewardsSplitRate" + | "getPriceX128" + | "getVaultMarketValue" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "repay" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "availableBorrow", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositCap", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getEthRewardsSplitRate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPriceX128", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getVaultMarketValue", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "availableBorrow", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "depositCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getEthRewardsSplitRate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPriceX128", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getVaultMarketValue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: { + "AllowancesGranted()": EventFragment; + "Approval(address,address,uint256)": EventFragment; + "BorrowCapUpdated(address,uint256)": EventFragment; + "Deposit(address,address,uint256,uint256)": EventFragment; + "DepositCapUpdated(uint256)": EventFragment; + "DnGmxJuniorVaultUpdated(address)": EventFragment; + "LeveragePoolUpdated(address)": EventFragment; + "MaxUtilizationBpsUpdated(uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + "Withdraw(address,address,address,uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "AllowancesGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "BorrowCapUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DepositCapUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DnGmxJuniorVaultUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "LeveragePoolUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "MaxUtilizationBpsUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; +} + +export interface AllowancesGrantedEventObject {} +export type AllowancesGrantedEvent = TypedEvent< + [], + AllowancesGrantedEventObject +>; + +export type AllowancesGrantedEventFilter = + TypedEventFilter; + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface BorrowCapUpdatedEventObject { + vault: string; + newCap: BigNumber; +} +export type BorrowCapUpdatedEvent = TypedEvent< + [string, BigNumber], + BorrowCapUpdatedEventObject +>; + +export type BorrowCapUpdatedEventFilter = + TypedEventFilter; + +export interface DepositEventObject { + caller: string; + owner: string; + assets: BigNumber; + shares: BigNumber; +} +export type DepositEvent = TypedEvent< + [string, string, BigNumber, BigNumber], + DepositEventObject +>; + +export type DepositEventFilter = TypedEventFilter; + +export interface DepositCapUpdatedEventObject { + _newDepositCap: BigNumber; +} +export type DepositCapUpdatedEvent = TypedEvent< + [BigNumber], + DepositCapUpdatedEventObject +>; + +export type DepositCapUpdatedEventFilter = + TypedEventFilter; + +export interface DnGmxJuniorVaultUpdatedEventObject { + dnGmxJuniorVault: string; +} +export type DnGmxJuniorVaultUpdatedEvent = TypedEvent< + [string], + DnGmxJuniorVaultUpdatedEventObject +>; + +export type DnGmxJuniorVaultUpdatedEventFilter = + TypedEventFilter; + +export interface LeveragePoolUpdatedEventObject { + leveragePool: string; +} +export type LeveragePoolUpdatedEvent = TypedEvent< + [string], + LeveragePoolUpdatedEventObject +>; + +export type LeveragePoolUpdatedEventFilter = + TypedEventFilter; + +export interface MaxUtilizationBpsUpdatedEventObject { + maxUtilizationBps: BigNumber; +} +export type MaxUtilizationBpsUpdatedEvent = TypedEvent< + [BigNumber], + MaxUtilizationBpsUpdatedEventObject +>; + +export type MaxUtilizationBpsUpdatedEventFilter = + TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface WithdrawEventObject { + caller: string; + receiver: string; + owner: string; + assets: BigNumber; + shares: BigNumber; +} +export type WithdrawEvent = TypedEvent< + [string, string, string, BigNumber, BigNumber], + WithdrawEventObject +>; + +export type WithdrawEventFilter = TypedEventFilter; + +export interface IDnGmxSeniorVault extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IDnGmxSeniorVaultInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset( + overrides?: CallOverrides + ): Promise<[string] & { assetTokenAddress: string }>; + + availableBorrow( + borrower: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + borrow( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { assets: BigNumber }>; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { shares: BigNumber }>; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositCap(overrides?: CallOverrides): Promise<[BigNumber]>; + + getEthRewardsSplitRate( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPriceX128(overrides?: CallOverrides): Promise<[BigNumber]>; + + getVaultMarketValue(overrides?: CallOverrides): Promise<[BigNumber]>; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxAssets: BigNumber }>; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxShares: BigNumber }>; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxShares: BigNumber }>; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxAssets: BigNumber }>; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { shares: BigNumber }>; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { assets: BigNumber }>; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { assets: BigNumber }>; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { shares: BigNumber }>; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + repay( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets( + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalManagedAssets: BigNumber }>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + availableBorrow( + borrower: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + borrow( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositCap(overrides?: CallOverrides): Promise; + + getEthRewardsSplitRate( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPriceX128(overrides?: CallOverrides): Promise; + + getVaultMarketValue(overrides?: CallOverrides): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + repay( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + availableBorrow( + borrower: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + borrow( + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositCap(overrides?: CallOverrides): Promise; + + getEthRewardsSplitRate(overrides?: CallOverrides): Promise; + + getPriceX128(overrides?: CallOverrides): Promise; + + getVaultMarketValue(overrides?: CallOverrides): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + repay( + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "AllowancesGranted()"(): AllowancesGrantedEventFilter; + AllowancesGranted(): AllowancesGrantedEventFilter; + + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "BorrowCapUpdated(address,uint256)"( + vault?: null, + newCap?: null + ): BorrowCapUpdatedEventFilter; + BorrowCapUpdated(vault?: null, newCap?: null): BorrowCapUpdatedEventFilter; + + "Deposit(address,address,uint256,uint256)"( + caller?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): DepositEventFilter; + Deposit( + caller?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): DepositEventFilter; + + "DepositCapUpdated(uint256)"( + _newDepositCap?: null + ): DepositCapUpdatedEventFilter; + DepositCapUpdated(_newDepositCap?: null): DepositCapUpdatedEventFilter; + + "DnGmxJuniorVaultUpdated(address)"( + dnGmxJuniorVault?: null + ): DnGmxJuniorVaultUpdatedEventFilter; + DnGmxJuniorVaultUpdated( + dnGmxJuniorVault?: null + ): DnGmxJuniorVaultUpdatedEventFilter; + + "LeveragePoolUpdated(address)"( + leveragePool?: null + ): LeveragePoolUpdatedEventFilter; + LeveragePoolUpdated(leveragePool?: null): LeveragePoolUpdatedEventFilter; + + "MaxUtilizationBpsUpdated(uint256)"( + maxUtilizationBps?: null + ): MaxUtilizationBpsUpdatedEventFilter; + MaxUtilizationBpsUpdated( + maxUtilizationBps?: null + ): MaxUtilizationBpsUpdatedEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + + "Withdraw(address,address,address,uint256,uint256)"( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): WithdrawEventFilter; + Withdraw( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): WithdrawEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + availableBorrow( + borrower: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + borrow( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositCap(overrides?: CallOverrides): Promise; + + getEthRewardsSplitRate( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPriceX128(overrides?: CallOverrides): Promise; + + getVaultMarketValue(overrides?: CallOverrides): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + repay( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + availableBorrow( + borrower: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + borrow( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositCap(overrides?: CallOverrides): Promise; + + getEthRewardsSplitRate( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getPriceX128(overrides?: CallOverrides): Promise; + + getVaultMarketValue( + overrides?: CallOverrides + ): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + repay( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/rage-trade/IERC4626.ts b/src/typechain-types/contracts/external/rage-trade/IERC4626.ts new file mode 100644 index 0000000..6f15cc1 --- /dev/null +++ b/src/typechain-types/contracts/external/rage-trade/IERC4626.ts @@ -0,0 +1,946 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IERC4626Interface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "asset()": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "convertToAssets(uint256)": FunctionFragment; + "convertToShares(uint256)": FunctionFragment; + "deposit(uint256,address)": FunctionFragment; + "maxDeposit(address)": FunctionFragment; + "maxMint(address)": FunctionFragment; + "maxRedeem(address)": FunctionFragment; + "maxWithdraw(address)": FunctionFragment; + "mint(uint256,address)": FunctionFragment; + "previewDeposit(uint256)": FunctionFragment; + "previewMint(uint256)": FunctionFragment; + "previewRedeem(uint256)": FunctionFragment; + "previewWithdraw(uint256)": FunctionFragment; + "redeem(uint256,address,address)": FunctionFragment; + "totalAssets()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + "withdraw(uint256,address,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "convertToAssets" + | "convertToShares" + | "deposit" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Deposit(address,address,uint256,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + "Withdraw(address,address,address,uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface DepositEventObject { + caller: string; + owner: string; + assets: BigNumber; + shares: BigNumber; +} +export type DepositEvent = TypedEvent< + [string, string, BigNumber, BigNumber], + DepositEventObject +>; + +export type DepositEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface WithdrawEventObject { + caller: string; + receiver: string; + owner: string; + assets: BigNumber; + shares: BigNumber; +} +export type WithdrawEvent = TypedEvent< + [string, string, string, BigNumber, BigNumber], + WithdrawEventObject +>; + +export type WithdrawEventFilter = TypedEventFilter; + +export interface IERC4626 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IERC4626Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset( + overrides?: CallOverrides + ): Promise<[string] & { assetTokenAddress: string }>; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { assets: BigNumber }>; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { shares: BigNumber }>; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxAssets: BigNumber }>; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxShares: BigNumber }>; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxShares: BigNumber }>; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { maxAssets: BigNumber }>; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { shares: BigNumber }>; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { assets: BigNumber }>; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { assets: BigNumber }>; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { shares: BigNumber }>; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets( + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalManagedAssets: BigNumber }>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Deposit(address,address,uint256,uint256)"( + caller?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): DepositEventFilter; + Deposit( + caller?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): DepositEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + + "Withdraw(address,address,address,uint256,uint256)"( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): WithdrawEventFilter; + Withdraw( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null + ): WithdrawEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/rage-trade/index.ts b/src/typechain-types/contracts/external/rage-trade/index.ts new file mode 100644 index 0000000..6cf1db1 --- /dev/null +++ b/src/typechain-types/contracts/external/rage-trade/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IBorrower } from "./IBorrower"; +export type { IDnGmxSeniorVault } from "./IDnGmxSeniorVault"; +export type { IERC4626 } from "./IERC4626"; diff --git a/src/typechain-types/contracts/external/weth/IWETH9.ts b/src/typechain-types/contracts/external/weth/IWETH9.ts new file mode 100644 index 0000000..5c7ca0c --- /dev/null +++ b/src/typechain-types/contracts/external/weth/IWETH9.ts @@ -0,0 +1,397 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface IWETH9Interface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "deposit()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + "withdraw(uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "deposit" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "deposit", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface IWETH9 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IWETH9Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + deposit( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + arg0: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + arg0: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + arg0: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + deposit( + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + arg0: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/external/weth/index.ts b/src/typechain-types/contracts/external/weth/index.ts new file mode 100644 index 0000000..9506932 --- /dev/null +++ b/src/typechain-types/contracts/external/weth/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IWETH9 } from "./IWETH9"; diff --git a/src/typechain-types/contracts/governance/UXDCouncilToken.ts b/src/typechain-types/contracts/governance/UXDCouncilToken.ts new file mode 100644 index 0000000..2d9dc0c --- /dev/null +++ b/src/typechain-types/contracts/governance/UXDCouncilToken.ts @@ -0,0 +1,1091 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace ERC20Votes { + export type CheckpointStruct = { + fromBlock: PromiseOrValue; + votes: PromiseOrValue; + }; + + export type CheckpointStructOutput = [number, BigNumber] & { + fromBlock: number; + votes: BigNumber; + }; +} + +export interface UXDCouncilTokenInterface extends utils.Interface { + functions: { + "DOMAIN_SEPARATOR()": FunctionFragment; + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "checkpoints(address,uint32)": FunctionFragment; + "decimals()": FunctionFragment; + "decreaseAllowance(address,uint256)": FunctionFragment; + "delegate(address)": FunctionFragment; + "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "delegates(address)": FunctionFragment; + "getPastTotalSupply(uint256)": FunctionFragment; + "getPastVotes(address,uint256)": FunctionFragment; + "getVotes(address)": FunctionFragment; + "increaseAllowance(address,uint256)": FunctionFragment; + "mint(address)": FunctionFragment; + "name()": FunctionFragment; + "nonces(address)": FunctionFragment; + "numCheckpoints(address)": FunctionFragment; + "owner()": FunctionFragment; + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "symbol()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "checkpoints" + | "decimals" + | "decreaseAllowance" + | "delegate" + | "delegateBySig" + | "delegates" + | "getPastTotalSupply" + | "getPastVotes" + | "getVotes" + | "increaseAllowance" + | "mint" + | "name" + | "nonces" + | "numCheckpoints" + | "owner" + | "permit" + | "renounceOwnership" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + | "transferOwnership" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "checkpoints", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegates", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastTotalSupply", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "nonces", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "numCheckpoints", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "checkpoints", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegateBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegates", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getPastTotalSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPastVotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "numCheckpoints", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "DelegateChanged(address,address,address)": EventFragment; + "DelegateVotesChanged(address,uint256,uint256)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateVotesChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface DelegateChangedEventObject { + delegator: string; + fromDelegate: string; + toDelegate: string; +} +export type DelegateChangedEvent = TypedEvent< + [string, string, string], + DelegateChangedEventObject +>; + +export type DelegateChangedEventFilter = TypedEventFilter; + +export interface DelegateVotesChangedEventObject { + delegate: string; + previousBalance: BigNumber; + newBalance: BigNumber; +} +export type DelegateVotesChangedEvent = TypedEvent< + [string, BigNumber, BigNumber], + DelegateVotesChangedEventObject +>; + +export type DelegateVotesChangedEventFilter = + TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface UXDCouncilToken extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UXDCouncilTokenInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[ERC20Votes.CheckpointStructOutput]>; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise<[string]>; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint(to: PromiseOrValue, overrides?: CallOverrides): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "DelegateChanged(address,address,address)"( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + DelegateChanged( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + + "DelegateVotesChanged(address,uint256,uint256)"( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + DelegateVotesChanged( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/governance/UXDGovernor.ts b/src/typechain-types/contracts/governance/UXDGovernor.ts new file mode 100644 index 0000000..a8335bf --- /dev/null +++ b/src/typechain-types/contracts/governance/UXDGovernor.ts @@ -0,0 +1,1943 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface UXDGovernorInterface extends utils.Interface { + functions: { + "BALLOT_TYPEHASH()": FunctionFragment; + "COUNTING_MODE()": FunctionFragment; + "EXTENDED_BALLOT_TYPEHASH()": FunctionFragment; + "approveERC20(address,address,uint256)": FunctionFragment; + "castVote(uint256,uint8)": FunctionFragment; + "castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)": FunctionFragment; + "castVoteWithReason(uint256,uint8,string)": FunctionFragment; + "castVoteWithReasonAndParams(uint256,uint8,string,bytes)": FunctionFragment; + "castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)": FunctionFragment; + "execute(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "getVotes(address,uint256)": FunctionFragment; + "getVotesWithParams(address,uint256,bytes)": FunctionFragment; + "hasVoted(uint256,address)": FunctionFragment; + "hashProposal(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "name()": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "proposalDeadline(uint256)": FunctionFragment; + "proposalEta(uint256)": FunctionFragment; + "proposalSnapshot(uint256)": FunctionFragment; + "proposalThreshold()": FunctionFragment; + "proposalVotes(uint256)": FunctionFragment; + "propose(address[],uint256[],bytes[],string)": FunctionFragment; + "queue(address[],uint256[],bytes[],bytes32)": FunctionFragment; + "quorum(uint256)": FunctionFragment; + "quorumDenominator()": FunctionFragment; + "quorumNumerator()": FunctionFragment; + "relay(address,uint256,bytes)": FunctionFragment; + "setProposalThreshold(uint256)": FunctionFragment; + "setVotingDelay(uint256)": FunctionFragment; + "setVotingPeriod(uint256)": FunctionFragment; + "state(uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "timelock()": FunctionFragment; + "token()": FunctionFragment; + "transferERC20(address,address,uint256)": FunctionFragment; + "updateQuorumNumerator(uint256)": FunctionFragment; + "updateTimelock(address)": FunctionFragment; + "version()": FunctionFragment; + "votingDelay()": FunctionFragment; + "votingPeriod()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "BALLOT_TYPEHASH" + | "COUNTING_MODE" + | "EXTENDED_BALLOT_TYPEHASH" + | "approveERC20" + | "castVote" + | "castVoteBySig" + | "castVoteWithReason" + | "castVoteWithReasonAndParams" + | "castVoteWithReasonAndParamsBySig" + | "execute" + | "getVotes" + | "getVotesWithParams" + | "hasVoted" + | "hashProposal" + | "name" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "proposalDeadline" + | "proposalEta" + | "proposalSnapshot" + | "proposalThreshold" + | "proposalVotes" + | "propose" + | "queue" + | "quorum" + | "quorumDenominator" + | "quorumNumerator" + | "relay" + | "setProposalThreshold" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "supportsInterface" + | "timelock" + | "token" + | "transferERC20" + | "updateQuorumNumerator" + | "updateTimelock" + | "version" + | "votingDelay" + | "votingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "COUNTING_MODE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "approveERC20", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "castVoteBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReason", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "castVoteWithReasonAndParamsBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotesWithParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hasVoted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashProposal", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "proposalDeadline", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalEta", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalSnapshot", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "proposalThreshold", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposalVotes", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "queue", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "quorum", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "quorumDenominator", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quorumNumerator", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "relay", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "state", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData( + functionFragment: "transferERC20", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "updateQuorumNumerator", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "updateTimelock", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "votingDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "votingPeriod", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "COUNTING_MODE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXTENDED_BALLOT_TYPEHASH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "approveERC20", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "castVoteBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReason", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castVoteWithReasonAndParamsBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getVotesWithParams", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalDeadline", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalEta", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalSnapshot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalVotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "queue", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "quorumDenominator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "quorumNumerator", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferERC20", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateQuorumNumerator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "votingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "votingPeriod", + data: BytesLike + ): Result; + + events: { + "ProposalCanceled(uint256)": EventFragment; + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)": EventFragment; + "ProposalExecuted(uint256)": EventFragment; + "ProposalQueued(uint256,uint256)": EventFragment; + "ProposalThresholdSet(uint256,uint256)": EventFragment; + "QuorumNumeratorUpdated(uint256,uint256)": EventFragment; + "TimelockChange(address,address)": EventFragment; + "VoteCast(address,uint256,uint8,uint256,string)": EventFragment; + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)": EventFragment; + "VotingDelaySet(uint256,uint256)": EventFragment; + "VotingPeriodSet(uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "ProposalCanceled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalCreated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalQueued"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ProposalThresholdSet"): EventFragment; + getEvent(nameOrSignatureOrTopic: "QuorumNumeratorUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TimelockChange"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCast"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VoteCastWithParams"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VotingDelaySet"): EventFragment; + getEvent(nameOrSignatureOrTopic: "VotingPeriodSet"): EventFragment; +} + +export interface ProposalCanceledEventObject { + proposalId: BigNumber; +} +export type ProposalCanceledEvent = TypedEvent< + [BigNumber], + ProposalCanceledEventObject +>; + +export type ProposalCanceledEventFilter = + TypedEventFilter; + +export interface ProposalCreatedEventObject { + proposalId: BigNumber; + proposer: string; + targets: string[]; + values: BigNumber[]; + signatures: string[]; + calldatas: string[]; + startBlock: BigNumber; + endBlock: BigNumber; + description: string; +} +export type ProposalCreatedEvent = TypedEvent< + [ + BigNumber, + string, + string[], + BigNumber[], + string[], + string[], + BigNumber, + BigNumber, + string + ], + ProposalCreatedEventObject +>; + +export type ProposalCreatedEventFilter = TypedEventFilter; + +export interface ProposalExecutedEventObject { + proposalId: BigNumber; +} +export type ProposalExecutedEvent = TypedEvent< + [BigNumber], + ProposalExecutedEventObject +>; + +export type ProposalExecutedEventFilter = + TypedEventFilter; + +export interface ProposalQueuedEventObject { + proposalId: BigNumber; + eta: BigNumber; +} +export type ProposalQueuedEvent = TypedEvent< + [BigNumber, BigNumber], + ProposalQueuedEventObject +>; + +export type ProposalQueuedEventFilter = TypedEventFilter; + +export interface ProposalThresholdSetEventObject { + oldProposalThreshold: BigNumber; + newProposalThreshold: BigNumber; +} +export type ProposalThresholdSetEvent = TypedEvent< + [BigNumber, BigNumber], + ProposalThresholdSetEventObject +>; + +export type ProposalThresholdSetEventFilter = + TypedEventFilter; + +export interface QuorumNumeratorUpdatedEventObject { + oldQuorumNumerator: BigNumber; + newQuorumNumerator: BigNumber; +} +export type QuorumNumeratorUpdatedEvent = TypedEvent< + [BigNumber, BigNumber], + QuorumNumeratorUpdatedEventObject +>; + +export type QuorumNumeratorUpdatedEventFilter = + TypedEventFilter; + +export interface TimelockChangeEventObject { + oldTimelock: string; + newTimelock: string; +} +export type TimelockChangeEvent = TypedEvent< + [string, string], + TimelockChangeEventObject +>; + +export type TimelockChangeEventFilter = TypedEventFilter; + +export interface VoteCastEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; +} +export type VoteCastEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string], + VoteCastEventObject +>; + +export type VoteCastEventFilter = TypedEventFilter; + +export interface VoteCastWithParamsEventObject { + voter: string; + proposalId: BigNumber; + support: number; + weight: BigNumber; + reason: string; + params: string; +} +export type VoteCastWithParamsEvent = TypedEvent< + [string, BigNumber, number, BigNumber, string, string], + VoteCastWithParamsEventObject +>; + +export type VoteCastWithParamsEventFilter = + TypedEventFilter; + +export interface VotingDelaySetEventObject { + oldVotingDelay: BigNumber; + newVotingDelay: BigNumber; +} +export type VotingDelaySetEvent = TypedEvent< + [BigNumber, BigNumber], + VotingDelaySetEventObject +>; + +export type VotingDelaySetEventFilter = TypedEventFilter; + +export interface VotingPeriodSetEventObject { + oldVotingPeriod: BigNumber; + newVotingPeriod: BigNumber; +} +export type VotingPeriodSetEvent = TypedEvent< + [BigNumber, BigNumber], + VotingPeriodSetEventObject +>; + +export type VotingPeriodSetEventFilter = TypedEventFilter; + +export interface UXDGovernor extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UXDGovernorInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + COUNTING_MODE(overrides?: CallOverrides): Promise<[string]>; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + proposalThreshold(overrides?: CallOverrides): Promise<[BigNumber]>; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + againstVotes: BigNumber; + forVotes: BigNumber; + abstainVotes: BigNumber; + } + >; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + quorumDenominator(overrides?: CallOverrides): Promise<[BigNumber]>; + + quorumNumerator(overrides?: CallOverrides): Promise<[BigNumber]>; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + timelock(overrides?: CallOverrides): Promise<[string]>; + + token(overrides?: CallOverrides): Promise<[string]>; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise<[string]>; + + votingDelay(overrides?: CallOverrides): Promise<[BigNumber]>; + + votingPeriod(overrides?: CallOverrides): Promise<[BigNumber]>; + }; + + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + againstVotes: BigNumber; + forVotes: BigNumber; + abstainVotes: BigNumber; + } + >; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + + callStatic: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber] & { + againstVotes: BigNumber; + forVotes: BigNumber; + abstainVotes: BigNumber; + } + >; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + filters: { + "ProposalCanceled(uint256)"(proposalId?: null): ProposalCanceledEventFilter; + ProposalCanceled(proposalId?: null): ProposalCanceledEventFilter; + + "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)"( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + ProposalCreated( + proposalId?: null, + proposer?: null, + targets?: null, + values?: null, + signatures?: null, + calldatas?: null, + startBlock?: null, + endBlock?: null, + description?: null + ): ProposalCreatedEventFilter; + + "ProposalExecuted(uint256)"(proposalId?: null): ProposalExecutedEventFilter; + ProposalExecuted(proposalId?: null): ProposalExecutedEventFilter; + + "ProposalQueued(uint256,uint256)"( + proposalId?: null, + eta?: null + ): ProposalQueuedEventFilter; + ProposalQueued(proposalId?: null, eta?: null): ProposalQueuedEventFilter; + + "ProposalThresholdSet(uint256,uint256)"( + oldProposalThreshold?: null, + newProposalThreshold?: null + ): ProposalThresholdSetEventFilter; + ProposalThresholdSet( + oldProposalThreshold?: null, + newProposalThreshold?: null + ): ProposalThresholdSetEventFilter; + + "QuorumNumeratorUpdated(uint256,uint256)"( + oldQuorumNumerator?: null, + newQuorumNumerator?: null + ): QuorumNumeratorUpdatedEventFilter; + QuorumNumeratorUpdated( + oldQuorumNumerator?: null, + newQuorumNumerator?: null + ): QuorumNumeratorUpdatedEventFilter; + + "TimelockChange(address,address)"( + oldTimelock?: null, + newTimelock?: null + ): TimelockChangeEventFilter; + TimelockChange( + oldTimelock?: null, + newTimelock?: null + ): TimelockChangeEventFilter; + + "VoteCast(address,uint256,uint8,uint256,string)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + VoteCast( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null + ): VoteCastEventFilter; + + "VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)"( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + VoteCastWithParams( + voter?: PromiseOrValue | null, + proposalId?: null, + support?: null, + weight?: null, + reason?: null, + params?: null + ): VoteCastWithParamsEventFilter; + + "VotingDelaySet(uint256,uint256)"( + oldVotingDelay?: null, + newVotingDelay?: null + ): VotingDelaySetEventFilter; + VotingDelaySet( + oldVotingDelay?: null, + newVotingDelay?: null + ): VotingDelaySetEventFilter; + + "VotingPeriodSet(uint256,uint256)"( + oldVotingPeriod?: null, + newVotingPeriod?: null + ): VotingPeriodSetEventFilter; + VotingPeriodSet( + oldVotingPeriod?: null, + newVotingPeriod?: null + ): VotingPeriodSetEventFilter; + }; + + estimateGas: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + BALLOT_TYPEHASH(overrides?: CallOverrides): Promise; + + COUNTING_MODE(overrides?: CallOverrides): Promise; + + EXTENDED_BALLOT_TYPEHASH( + overrides?: CallOverrides + ): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVote( + proposalId: PromiseOrValue, + support: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReason( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParams( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + castVoteWithReasonAndParamsBySig( + proposalId: PromiseOrValue, + support: PromiseOrValue, + reason: PromiseOrValue, + params: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotesWithParams( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + params: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasVoted( + proposalId: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashProposal( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + proposalDeadline( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalEta( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalSnapshot( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + proposalThreshold(overrides?: CallOverrides): Promise; + + proposalVotes( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + propose( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + description: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + queue( + targets: PromiseOrValue[], + values: PromiseOrValue[], + calldatas: PromiseOrValue[], + descriptionHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + quorum( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quorumDenominator(overrides?: CallOverrides): Promise; + + quorumNumerator(overrides?: CallOverrides): Promise; + + relay( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setProposalThreshold( + newProposalThreshold: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingDelay( + newVotingDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setVotingPeriod( + newVotingPeriod: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + state( + proposalId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + timelock(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateQuorumNumerator( + newQuorumNumerator: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateTimelock( + newTimelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + version(overrides?: CallOverrides): Promise; + + votingDelay(overrides?: CallOverrides): Promise; + + votingPeriod(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/contracts/governance/UXDTimelockController.ts b/src/typechain-types/contracts/governance/UXDTimelockController.ts new file mode 100644 index 0000000..7fdf00f --- /dev/null +++ b/src/typechain-types/contracts/governance/UXDTimelockController.ts @@ -0,0 +1,1537 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface UXDTimelockControllerInterface extends utils.Interface { + functions: { + "CANCELLER_ROLE()": FunctionFragment; + "DEFAULT_ADMIN_ROLE()": FunctionFragment; + "EXECUTOR_ROLE()": FunctionFragment; + "PROPOSER_ROLE()": FunctionFragment; + "TIMELOCK_ADMIN_ROLE()": FunctionFragment; + "approveERC20(address,address,uint256)": FunctionFragment; + "cancel(bytes32)": FunctionFragment; + "execute(address,uint256,bytes,bytes32,bytes32)": FunctionFragment; + "executeBatch(address[],uint256[],bytes[],bytes32,bytes32)": FunctionFragment; + "getMinDelay()": FunctionFragment; + "getRoleAdmin(bytes32)": FunctionFragment; + "getTimestamp(bytes32)": FunctionFragment; + "grantRole(bytes32,address)": FunctionFragment; + "hasRole(bytes32,address)": FunctionFragment; + "hashOperation(address,uint256,bytes,bytes32,bytes32)": FunctionFragment; + "hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)": FunctionFragment; + "isOperation(bytes32)": FunctionFragment; + "isOperationDone(bytes32)": FunctionFragment; + "isOperationPending(bytes32)": FunctionFragment; + "isOperationReady(bytes32)": FunctionFragment; + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment; + "onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment; + "onERC721Received(address,address,uint256,bytes)": FunctionFragment; + "renounceRole(bytes32,address)": FunctionFragment; + "revokeRole(bytes32,address)": FunctionFragment; + "schedule(address,uint256,bytes,bytes32,bytes32,uint256)": FunctionFragment; + "scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)": FunctionFragment; + "supportsInterface(bytes4)": FunctionFragment; + "transferERC20(address,address,uint256)": FunctionFragment; + "transferETH(address,uint256)": FunctionFragment; + "updateDelay(uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "CANCELLER_ROLE" + | "DEFAULT_ADMIN_ROLE" + | "EXECUTOR_ROLE" + | "PROPOSER_ROLE" + | "TIMELOCK_ADMIN_ROLE" + | "approveERC20" + | "cancel" + | "execute" + | "executeBatch" + | "getMinDelay" + | "getRoleAdmin" + | "getTimestamp" + | "grantRole" + | "hasRole" + | "hashOperation" + | "hashOperationBatch" + | "isOperation" + | "isOperationDone" + | "isOperationPending" + | "isOperationReady" + | "onERC1155BatchReceived" + | "onERC1155Received" + | "onERC721Received" + | "renounceRole" + | "revokeRole" + | "schedule" + | "scheduleBatch" + | "supportsInterface" + | "transferERC20" + | "transferETH" + | "updateDelay" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "CANCELLER_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DEFAULT_ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTOR_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSER_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "TIMELOCK_ADMIN_ROLE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "approveERC20", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "cancel", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "executeBatch", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "getMinDelay", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getRoleAdmin", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTimestamp", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "grantRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hasRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "hashOperation", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "hashOperationBatch", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "isOperation", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isOperationDone", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isOperationPending", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isOperationReady", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "onERC1155BatchReceived", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC1155Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "onERC721Received", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "renounceRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "revokeRole", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "schedule", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "scheduleBatch", + values: [ + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferERC20", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "transferETH", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "updateDelay", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "CANCELLER_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DEFAULT_ADMIN_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTOR_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSER_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "TIMELOCK_ADMIN_ROLE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "approveERC20", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "cancel", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "executeBatch", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMinDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRoleAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashOperation", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "hashOperationBatch", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperation", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperationDone", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperationPending", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isOperationReady", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155BatchReceived", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC1155Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onERC721Received", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceRole", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "schedule", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "scheduleBatch", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferERC20", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferETH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateDelay", + data: BytesLike + ): Result; + + events: { + "CallExecuted(bytes32,uint256,address,uint256,bytes)": EventFragment; + "CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)": EventFragment; + "Cancelled(bytes32)": EventFragment; + "MinDelayChange(uint256,uint256)": EventFragment; + "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; + "RoleGranted(bytes32,address,address)": EventFragment; + "RoleRevoked(bytes32,address,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "CallExecuted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "CallScheduled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Cancelled"): EventFragment; + getEvent(nameOrSignatureOrTopic: "MinDelayChange"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; +} + +export interface CallExecutedEventObject { + id: string; + index: BigNumber; + target: string; + value: BigNumber; + data: string; +} +export type CallExecutedEvent = TypedEvent< + [string, BigNumber, string, BigNumber, string], + CallExecutedEventObject +>; + +export type CallExecutedEventFilter = TypedEventFilter; + +export interface CallScheduledEventObject { + id: string; + index: BigNumber; + target: string; + value: BigNumber; + data: string; + predecessor: string; + delay: BigNumber; +} +export type CallScheduledEvent = TypedEvent< + [string, BigNumber, string, BigNumber, string, string, BigNumber], + CallScheduledEventObject +>; + +export type CallScheduledEventFilter = TypedEventFilter; + +export interface CancelledEventObject { + id: string; +} +export type CancelledEvent = TypedEvent<[string], CancelledEventObject>; + +export type CancelledEventFilter = TypedEventFilter; + +export interface MinDelayChangeEventObject { + oldDuration: BigNumber; + newDuration: BigNumber; +} +export type MinDelayChangeEvent = TypedEvent< + [BigNumber, BigNumber], + MinDelayChangeEventObject +>; + +export type MinDelayChangeEventFilter = TypedEventFilter; + +export interface RoleAdminChangedEventObject { + role: string; + previousAdminRole: string; + newAdminRole: string; +} +export type RoleAdminChangedEvent = TypedEvent< + [string, string, string], + RoleAdminChangedEventObject +>; + +export type RoleAdminChangedEventFilter = + TypedEventFilter; + +export interface RoleGrantedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleGrantedEvent = TypedEvent< + [string, string, string], + RoleGrantedEventObject +>; + +export type RoleGrantedEventFilter = TypedEventFilter; + +export interface RoleRevokedEventObject { + role: string; + account: string; + sender: string; +} +export type RoleRevokedEvent = TypedEvent< + [string, string, string], + RoleRevokedEventObject +>; + +export type RoleRevokedEventFilter = TypedEventFilter; + +export interface UXDTimelockController extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UXDTimelockControllerInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise<[string]>; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise<[string]>; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise<[string]>; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay( + overrides?: CallOverrides + ): Promise<[BigNumber] & { duration: BigNumber }>; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { timestamp: BigNumber }>; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { hash: string }>; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string] & { hash: string }>; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { pending: boolean }>; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { done: boolean }>; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { pending: boolean }>; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean] & { ready: boolean }>; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferETH( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferETH( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + cancel( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferETH( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "CallExecuted(bytes32,uint256,address,uint256,bytes)"( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null + ): CallExecutedEventFilter; + CallExecuted( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null + ): CallExecutedEventFilter; + + "CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)"( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null, + predecessor?: null, + delay?: null + ): CallScheduledEventFilter; + CallScheduled( + id?: PromiseOrValue | null, + index?: PromiseOrValue | null, + target?: null, + value?: null, + data?: null, + predecessor?: null, + delay?: null + ): CallScheduledEventFilter; + + "Cancelled(bytes32)"( + id?: PromiseOrValue | null + ): CancelledEventFilter; + Cancelled(id?: PromiseOrValue | null): CancelledEventFilter; + + "MinDelayChange(uint256,uint256)"( + oldDuration?: null, + newDuration?: null + ): MinDelayChangeEventFilter; + MinDelayChange( + oldDuration?: null, + newDuration?: null + ): MinDelayChangeEventFilter; + + "RoleAdminChanged(bytes32,bytes32,bytes32)"( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + RoleAdminChanged( + role?: PromiseOrValue | null, + previousAdminRole?: PromiseOrValue | null, + newAdminRole?: PromiseOrValue | null + ): RoleAdminChangedEventFilter; + + "RoleGranted(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + RoleGranted( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleGrantedEventFilter; + + "RoleRevoked(bytes32,address,address)"( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + RoleRevoked( + role?: PromiseOrValue | null, + account?: PromiseOrValue | null, + sender?: PromiseOrValue | null + ): RoleRevokedEventFilter; + }; + + estimateGas: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE(overrides?: CallOverrides): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferETH( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + CANCELLER_ROLE(overrides?: CallOverrides): Promise; + + DEFAULT_ADMIN_ROLE( + overrides?: CallOverrides + ): Promise; + + EXECUTOR_ROLE(overrides?: CallOverrides): Promise; + + PROPOSER_ROLE(overrides?: CallOverrides): Promise; + + TIMELOCK_ADMIN_ROLE( + overrides?: CallOverrides + ): Promise; + + approveERC20( + token: PromiseOrValue, + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + cancel( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + execute( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + executeBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + getMinDelay(overrides?: CallOverrides): Promise; + + getRoleAdmin( + role: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTimestamp( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + grantRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + hasRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperation( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + hashOperationBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperation( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationDone( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationPending( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isOperationReady( + id: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + onERC721Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + revokeRole( + role: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + schedule( + target: PromiseOrValue, + value: PromiseOrValue, + data: PromiseOrValue, + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + scheduleBatch( + targets: PromiseOrValue[], + values: PromiseOrValue[], + payloads: PromiseOrValue[], + predecessor: PromiseOrValue, + salt: PromiseOrValue, + delay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + supportsInterface( + interfaceId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferERC20( + token: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferETH( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateDelay( + newDelay: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/governance/UXPToken.ts b/src/typechain-types/contracts/governance/UXPToken.ts new file mode 100644 index 0000000..4e82cbe --- /dev/null +++ b/src/typechain-types/contracts/governance/UXPToken.ts @@ -0,0 +1,1156 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace ERC20Votes { + export type CheckpointStruct = { + fromBlock: PromiseOrValue; + votes: PromiseOrValue; + }; + + export type CheckpointStructOutput = [number, BigNumber] & { + fromBlock: number; + votes: BigNumber; + }; +} + +export interface UXPTokenInterface extends utils.Interface { + functions: { + "DOMAIN_SEPARATOR()": FunctionFragment; + "MAX_TOTAL_SUPPLY()": FunctionFragment; + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "burn(address,uint256)": FunctionFragment; + "checkpoints(address,uint32)": FunctionFragment; + "decimals()": FunctionFragment; + "decreaseAllowance(address,uint256)": FunctionFragment; + "delegate(address)": FunctionFragment; + "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "delegates(address)": FunctionFragment; + "getPastTotalSupply(uint256)": FunctionFragment; + "getPastVotes(address,uint256)": FunctionFragment; + "getVotes(address)": FunctionFragment; + "increaseAllowance(address,uint256)": FunctionFragment; + "mint(address,uint256)": FunctionFragment; + "name()": FunctionFragment; + "nonces(address)": FunctionFragment; + "numCheckpoints(address)": FunctionFragment; + "owner()": FunctionFragment; + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "symbol()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "DOMAIN_SEPARATOR" + | "MAX_TOTAL_SUPPLY" + | "allowance" + | "approve" + | "balanceOf" + | "burn" + | "checkpoints" + | "decimals" + | "decreaseAllowance" + | "delegate" + | "delegateBySig" + | "delegates" + | "getPastTotalSupply" + | "getPastVotes" + | "getVotes" + | "increaseAllowance" + | "mint" + | "name" + | "nonces" + | "numCheckpoints" + | "owner" + | "permit" + | "renounceOwnership" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + | "transferOwnership" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "MAX_TOTAL_SUPPLY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "burn", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "checkpoints", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "delegateBySig", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "delegates", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastTotalSupply", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPastVotes", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getVotes", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "nonces", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "numCheckpoints", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "MAX_TOTAL_SUPPLY", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "checkpoints", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegateBySig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegates", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getPastTotalSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPastVotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "numCheckpoints", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "DelegateChanged(address,address,address)": EventFragment; + "DelegateVotesChanged(address,uint256,uint256)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "DelegateVotesChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface DelegateChangedEventObject { + delegator: string; + fromDelegate: string; + toDelegate: string; +} +export type DelegateChangedEvent = TypedEvent< + [string, string, string], + DelegateChangedEventObject +>; + +export type DelegateChangedEventFilter = TypedEventFilter; + +export interface DelegateVotesChangedEventObject { + delegate: string; + previousBalance: BigNumber; + newBalance: BigNumber; +} +export type DelegateVotesChangedEvent = TypedEvent< + [string, BigNumber, BigNumber], + DelegateVotesChangedEventObject +>; + +export type DelegateVotesChangedEventFilter = + TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface UXPToken extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UXPTokenInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; + + MAX_TOTAL_SUPPLY(overrides?: CallOverrides): Promise<[BigNumber]>; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[ERC20Votes.CheckpointStructOutput]>; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise<[string]>; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + MAX_TOTAL_SUPPLY(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + MAX_TOTAL_SUPPLY(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "DelegateChanged(address,address,address)"( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + DelegateChanged( + delegator?: PromiseOrValue | null, + fromDelegate?: PromiseOrValue | null, + toDelegate?: PromiseOrValue | null + ): DelegateChangedEventFilter; + + "DelegateVotesChanged(address,uint256,uint256)"( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + DelegateVotesChanged( + delegate?: PromiseOrValue | null, + previousBalance?: null, + newBalance?: null + ): DelegateVotesChangedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + MAX_TOTAL_SUPPLY(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; + + MAX_TOTAL_SUPPLY(overrides?: CallOverrides): Promise; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + burn( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + checkpoints( + account: PromiseOrValue, + pos: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegate( + delegatee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegateBySig( + delegatee: PromiseOrValue, + nonce: PromiseOrValue, + expiry: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + delegates( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastTotalSupply( + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPastVotes( + account: PromiseOrValue, + blockNumber: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getVotes( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + account: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + nonces( + owner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + numCheckpoints( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + permit( + owner: PromiseOrValue, + spender: PromiseOrValue, + value: PromiseOrValue, + deadline: PromiseOrValue, + v: PromiseOrValue, + r: PromiseOrValue, + s: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/governance/index.ts b/src/typechain-types/contracts/governance/index.ts new file mode 100644 index 0000000..2b96d11 --- /dev/null +++ b/src/typechain-types/contracts/governance/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { UXDCouncilToken } from "./UXDCouncilToken"; +export type { UXDGovernor } from "./UXDGovernor"; +export type { UXDTimelockController } from "./UXDTimelockController"; +export type { UXPToken } from "./UXPToken"; diff --git a/src/typechain-types/contracts/index.ts b/src/typechain-types/contracts/index.ts new file mode 100644 index 0000000..b996ca8 --- /dev/null +++ b/src/typechain-types/contracts/index.ts @@ -0,0 +1,13 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as core from "./core"; +export type { core }; +import type * as external from "./external"; +export type { external }; +import type * as governance from "./governance"; +export type { governance }; +import type * as integrations from "./integrations"; +export type { integrations }; +import type * as test from "./test"; +export type { test }; diff --git a/src/typechain-types/contracts/integrations/IDepository.ts b/src/typechain-types/contracts/integrations/IDepository.ts new file mode 100644 index 0000000..b6b963a --- /dev/null +++ b/src/typechain-types/contracts/integrations/IDepository.ts @@ -0,0 +1,285 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface IDepositoryInterface extends utils.Interface { + functions: { + "assetToken()": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; + "depositInsurance(uint256,address)": FunctionFragment; + "getUnrealizedPnl()": FunctionFragment; + "insuranceToken()": FunctionFragment; + "redeem(address,uint256)": FunctionFragment; + "withdrawInsurance(uint256,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "assetToken" + | "deposit" + | "depositInsurance" + | "getUnrealizedPnl" + | "insuranceToken" + | "redeem" + | "withdrawInsurance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "assetToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getUnrealizedPnl", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdrawInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "assetToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositInsurance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUnrealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceToken", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawInsurance", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IDepository extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IDepositoryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + assetToken(overrides?: CallOverrides): Promise<[string]>; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceToken(overrides?: CallOverrides): Promise<[string]>; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + assetToken(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + assetToken(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + assetToken(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + assetToken(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/integrations/ISwapper.ts b/src/typechain-types/contracts/integrations/ISwapper.ts new file mode 100644 index 0000000..837e43c --- /dev/null +++ b/src/typechain-types/contracts/integrations/ISwapper.ts @@ -0,0 +1,131 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export type SwapParamsStruct = { + tokenIn: PromiseOrValue; + tokenOut: PromiseOrValue; + amountIn: PromiseOrValue; + amountOutMinimum: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + poolFee: PromiseOrValue; +}; + +export type SwapParamsStructOutput = [ + string, + string, + BigNumber, + BigNumber, + BigNumber, + number +] & { + tokenIn: string; + tokenOut: string; + amountIn: BigNumber; + amountOutMinimum: BigNumber; + sqrtPriceLimitX96: BigNumber; + poolFee: number; +}; + +export interface ISwapperInterface extends utils.Interface { + functions: { + "swapExactInput((address,address,uint256,uint256,uint160,uint24))": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "swapExactInput"): FunctionFragment; + + encodeFunctionData( + functionFragment: "swapExactInput", + values: [SwapParamsStruct] + ): string; + + decodeFunctionResult( + functionFragment: "swapExactInput", + data: BytesLike + ): Result; + + events: {}; +} + +export interface ISwapper extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: ISwapperInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + swapExactInput( + params: SwapParamsStruct, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/integrations/index.ts b/src/typechain-types/contracts/integrations/index.ts new file mode 100644 index 0000000..e942e80 --- /dev/null +++ b/src/typechain-types/contracts/integrations/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as perp from "./perp"; +export type { perp }; +import type * as rageTrade from "./rage-trade"; +export type { rageTrade }; +import type * as uniswap from "./uniswap"; +export type { uniswap }; +export type { IDepository } from "./IDepository"; +export type { ISwapper } from "./ISwapper"; diff --git a/src/typechain-types/contracts/integrations/perp/PerpAccountProxy.ts b/src/typechain-types/contracts/integrations/perp/PerpAccountProxy.ts new file mode 100644 index 0000000..4da5e9a --- /dev/null +++ b/src/typechain-types/contracts/integrations/perp/PerpAccountProxy.ts @@ -0,0 +1,581 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export declare namespace AccountMarket { + export type InfoStruct = { + takerPositionSize: PromiseOrValue; + takerOpenNotional: PromiseOrValue; + lastTwPremiumGrowthGlobalX96: PromiseOrValue; + }; + + export type InfoStructOutput = [BigNumber, BigNumber, BigNumber] & { + takerPositionSize: BigNumber; + takerOpenNotional: BigNumber; + lastTwPremiumGrowthGlobalX96: BigNumber; + }; +} + +export interface PerpAccountProxyInterface extends utils.Interface { + functions: { + "getAccountInfo(address,address)": FunctionFragment; + "getAccountValue(address)": FunctionFragment; + "getBalanceByToken(address,address)": FunctionFragment; + "getFreeCollateral(address)": FunctionFragment; + "getFreeCollateralByRatio(address,uint24)": FunctionFragment; + "getFreeCollateralByToken(address,address)": FunctionFragment; + "getPnlAndPendingFee(address)": FunctionFragment; + "getTotalAbsPositionValue(address)": FunctionFragment; + "getTotalDebtValue(address)": FunctionFragment; + "getTotalOpenNotional(address,address)": FunctionFragment; + "getTotalPositionSize(address,address)": FunctionFragment; + "getTotalPositionValue(address,address)": FunctionFragment; + "perpAccount()": FunctionFragment; + "perpClearingHouse()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "getAccountInfo" + | "getAccountValue" + | "getBalanceByToken" + | "getFreeCollateral" + | "getFreeCollateralByRatio" + | "getFreeCollateralByToken" + | "getPnlAndPendingFee" + | "getTotalAbsPositionValue" + | "getTotalDebtValue" + | "getTotalOpenNotional" + | "getTotalPositionSize" + | "getTotalPositionValue" + | "perpAccount" + | "perpClearingHouse" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getAccountInfo", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getAccountValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getBalanceByToken", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateral", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateralByRatio", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateralByToken", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPnlAndPendingFee", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalAbsPositionValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalDebtValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalOpenNotional", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalPositionSize", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalPositionValue", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "perpAccount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "perpClearingHouse", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "getAccountInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getBalanceByToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateralByRatio", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateralByToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPnlAndPendingFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalAbsPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalDebtValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalOpenNotional", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalPositionSize", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "perpAccount", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "perpClearingHouse", + data: BytesLike + ): Result; + + events: {}; +} + +export interface PerpAccountProxy extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: PerpAccountProxyInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getAccountInfo( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[AccountMarket.InfoStructOutput]>; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getBalanceByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getFreeCollateral( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getFreeCollateralByRatio( + account: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getFreeCollateralByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getPnlAndPendingFee( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber, BigNumber]>; + + getTotalAbsPositionValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getTotalDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getTotalOpenNotional( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getTotalPositionSize( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getTotalPositionValue( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + perpAccount(overrides?: CallOverrides): Promise<[string]>; + + perpClearingHouse(overrides?: CallOverrides): Promise<[string]>; + }; + + getAccountInfo( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateral( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + account: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlAndPendingFee( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber, BigNumber]>; + + getTotalAbsPositionValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + perpAccount(overrides?: CallOverrides): Promise; + + perpClearingHouse(overrides?: CallOverrides): Promise; + + callStatic: { + getAccountInfo( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateral( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + account: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlAndPendingFee( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber, BigNumber]>; + + getTotalAbsPositionValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + perpAccount(overrides?: CallOverrides): Promise; + + perpClearingHouse(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + getAccountInfo( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateral( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + account: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlAndPendingFee( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalAbsPositionValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + perpAccount(overrides?: CallOverrides): Promise; + + perpClearingHouse(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + getAccountInfo( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getBalanceByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateral( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByRatio( + account: PromiseOrValue, + ratio: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getFreeCollateralByToken( + account: PromiseOrValue, + token: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPnlAndPendingFee( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalAbsPositionValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionSize( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalPositionValue( + account: PromiseOrValue, + baseToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + perpAccount(overrides?: CallOverrides): Promise; + + perpClearingHouse(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/artifacts/types/PerpDepository.ts b/src/typechain-types/contracts/integrations/perp/PerpDepository.ts similarity index 85% rename from src/artifacts/types/PerpDepository.ts rename to src/typechain-types/contracts/integrations/perp/PerpDepository.ts index ceb8db7..678ee13 100644 --- a/src/artifacts/types/PerpDepository.ts +++ b/src/typechain-types/contracts/integrations/perp/PerpDepository.ts @@ -26,10 +26,10 @@ import type { TypedListener, OnEvent, PromiseOrValue, -} from "./common"; +} from "../../../common"; export type DepositoryStateStruct = { - collateralDeposited: PromiseOrValue; + assetDeposited: PromiseOrValue; insuranceDeposited: PromiseOrValue; redeemableUnderManagement: PromiseOrValue; totalFeesPaid: PromiseOrValue; @@ -43,53 +43,22 @@ export type DepositoryStateStructOutput = [ BigNumber, BigNumber ] & { - collateralDeposited: BigNumber; + assetDeposited: BigNumber; insuranceDeposited: BigNumber; redeemableUnderManagement: BigNumber; totalFeesPaid: BigNumber; redeemableSoftCap: BigNumber; }; -export type LongPositionParamsStruct = { - amountToRedeem: PromiseOrValue; - baseToken: PromiseOrValue; - sqrtPriceLimitX96: PromiseOrValue; - user: PromiseOrValue; -}; - -export type LongPositionParamsStructOutput = [ - BigNumber, - string, - BigNumber, - string -] & { - amountToRedeem: BigNumber; - baseToken: string; - sqrtPriceLimitX96: BigNumber; - user: string; -}; - -export type ShortPositionParamsStruct = { - amount: PromiseOrValue; - baseToken: PromiseOrValue; - sqrtPriceLimitX96: PromiseOrValue; -}; - -export type ShortPositionParamsStructOutput = [BigNumber, string, BigNumber] & { - amount: BigNumber; - baseToken: string; - sqrtPriceLimitX96: BigNumber; -}; - export interface PerpDepositoryInterface extends utils.Interface { functions: { "HUNDRED_PERCENT()": FunctionFragment; "VERSION()": FunctionFragment; - "baseToken()": FunctionFragment; + "assetDeposited()": FunctionFragment; + "assetToken()": FunctionFragment; "clearingHouse()": FunctionFragment; - "collateralDeposited()": FunctionFragment; "controller()": FunctionFragment; - "depositCollateral(uint256)": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; "depositInsurance(uint256,address)": FunctionFragment; "getAccountValue(address)": FunctionFragment; "getCurrentState()": FunctionFragment; @@ -102,18 +71,16 @@ export interface PerpDepositoryInterface extends utils.Interface { "getUnrealizedPnl()": FunctionFragment; "initialize(address,address,address,address,address,address,address)": FunctionFragment; "insuranceDeposited()": FunctionFragment; + "insuranceToken()": FunctionFragment; "market()": FunctionFragment; "marketRegistry()": FunctionFragment; - "openLong((uint256,address,uint160,address))": FunctionFragment; - "openShort((uint256,address,uint160))": FunctionFragment; "owner()": FunctionFragment; - "processQuoteMint(uint256)": FunctionFragment; - "processQuoteRedeem(uint256,address)": FunctionFragment; "proxiableUUID()": FunctionFragment; "quoteMinted()": FunctionFragment; "quoteToken()": FunctionFragment; "rebalance(uint256,uint256,uint160,uint24,int8,address)": FunctionFragment; "rebalanceLite(uint256,int8,uint160,address)": FunctionFragment; + "redeem(address,uint256)": FunctionFragment; "redeemableSoftCap()": FunctionFragment; "redeemableUnderManagement()": FunctionFragment; "renounceOwnership()": FunctionFragment; @@ -126,7 +93,6 @@ export interface PerpDepositoryInterface extends utils.Interface { "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "vault()": FunctionFragment; - "withdrawCollateral(uint256,address)": FunctionFragment; "withdrawInsurance(uint256,address)": FunctionFragment; }; @@ -134,11 +100,11 @@ export interface PerpDepositoryInterface extends utils.Interface { nameOrSignatureOrTopic: | "HUNDRED_PERCENT" | "VERSION" - | "baseToken" + | "assetDeposited" + | "assetToken" | "clearingHouse" - | "collateralDeposited" | "controller" - | "depositCollateral" + | "deposit" | "depositInsurance" | "getAccountValue" | "getCurrentState" @@ -151,18 +117,16 @@ export interface PerpDepositoryInterface extends utils.Interface { | "getUnrealizedPnl" | "initialize" | "insuranceDeposited" + | "insuranceToken" | "market" | "marketRegistry" - | "openLong" - | "openShort" | "owner" - | "processQuoteMint" - | "processQuoteRedeem" | "proxiableUUID" | "quoteMinted" | "quoteToken" | "rebalance" | "rebalanceLite" + | "redeem" | "redeemableSoftCap" | "redeemableUnderManagement" | "renounceOwnership" @@ -175,7 +139,6 @@ export interface PerpDepositoryInterface extends utils.Interface { | "upgradeTo" | "upgradeToAndCall" | "vault" - | "withdrawCollateral" | "withdrawInsurance" ): FunctionFragment; @@ -184,13 +147,16 @@ export interface PerpDepositoryInterface extends utils.Interface { values?: undefined ): string; encodeFunctionData(functionFragment: "VERSION", values?: undefined): string; - encodeFunctionData(functionFragment: "baseToken", values?: undefined): string; encodeFunctionData( - functionFragment: "clearingHouse", + functionFragment: "assetDeposited", values?: undefined ): string; encodeFunctionData( - functionFragment: "collateralDeposited", + functionFragment: "assetToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "clearingHouse", values?: undefined ): string; encodeFunctionData( @@ -198,8 +164,8 @@ export interface PerpDepositoryInterface extends utils.Interface { values?: undefined ): string; encodeFunctionData( - functionFragment: "depositCollateral", - values: [PromiseOrValue] + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "depositInsurance", @@ -257,28 +223,16 @@ export interface PerpDepositoryInterface extends utils.Interface { functionFragment: "insuranceDeposited", values?: undefined ): string; - encodeFunctionData(functionFragment: "market", values?: undefined): string; encodeFunctionData( - functionFragment: "marketRegistry", + functionFragment: "insuranceToken", values?: undefined ): string; + encodeFunctionData(functionFragment: "market", values?: undefined): string; encodeFunctionData( - functionFragment: "openLong", - values: [LongPositionParamsStruct] - ): string; - encodeFunctionData( - functionFragment: "openShort", - values: [ShortPositionParamsStruct] + functionFragment: "marketRegistry", + values?: undefined ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; - encodeFunctionData( - functionFragment: "processQuoteMint", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "processQuoteRedeem", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "proxiableUUID", values?: undefined @@ -311,6 +265,10 @@ export interface PerpDepositoryInterface extends utils.Interface { PromiseOrValue ] ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; encodeFunctionData( functionFragment: "redeemableSoftCap", values?: undefined @@ -356,10 +314,6 @@ export interface PerpDepositoryInterface extends utils.Interface { values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData(functionFragment: "vault", values?: undefined): string; - encodeFunctionData( - functionFragment: "withdrawCollateral", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "withdrawInsurance", values: [PromiseOrValue, PromiseOrValue] @@ -370,20 +324,17 @@ export interface PerpDepositoryInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "VERSION", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "baseToken", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "clearingHouse", + functionFragment: "assetDeposited", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "assetToken", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "collateralDeposited", + functionFragment: "clearingHouse", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "depositCollateral", - data: BytesLike - ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult( functionFragment: "depositInsurance", data: BytesLike @@ -429,22 +380,16 @@ export interface PerpDepositoryInterface extends utils.Interface { functionFragment: "insuranceDeposited", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "marketRegistry", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "openLong", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "openShort", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "processQuoteMint", + functionFragment: "insuranceToken", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "processQuoteRedeem", + functionFragment: "marketRegistry", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "proxiableUUID", data: BytesLike @@ -459,6 +404,7 @@ export interface PerpDepositoryInterface extends utils.Interface { functionFragment: "rebalanceLite", data: BytesLike ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult( functionFragment: "redeemableSoftCap", data: BytesLike @@ -501,10 +447,6 @@ export interface PerpDepositoryInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "withdrawCollateral", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "withdrawInsurance", data: BytesLike @@ -676,15 +618,16 @@ export interface PerpDepository extends BaseContract { VERSION(overrides?: CallOverrides): Promise<[string]>; - baseToken(overrides?: CallOverrides): Promise<[string]>; + assetDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; - clearingHouse(overrides?: CallOverrides): Promise<[string]>; + assetToken(overrides?: CallOverrides): Promise<[string]>; - collateralDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + clearingHouse(overrides?: CallOverrides): Promise<[string]>; controller(overrides?: CallOverrides): Promise<[string]>; - depositCollateral( + deposit( + asset: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -729,7 +672,7 @@ export interface PerpDepository extends BaseContract { _clearingHouse: PromiseOrValue, _marketRegistry: PromiseOrValue, _futuresMarket: PromiseOrValue, - _baseToken: PromiseOrValue, + _assetToken: PromiseOrValue, _quoteToken: PromiseOrValue, _controller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -737,33 +680,14 @@ export interface PerpDepository extends BaseContract { insuranceDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + insuranceToken(overrides?: CallOverrides): Promise<[string]>; + market(overrides?: CallOverrides): Promise<[string]>; marketRegistry(overrides?: CallOverrides): Promise<[string]>; - openLong( - params: LongPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - openShort( - params: ShortPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - owner(overrides?: CallOverrides): Promise<[string]>; - processQuoteMint( - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - processQuoteRedeem( - redeemableAmount: PromiseOrValue, - account: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - proxiableUUID(overrides?: CallOverrides): Promise<[string]>; quoteMinted(overrides?: CallOverrides): Promise<[BigNumber]>; @@ -788,6 +712,12 @@ export interface PerpDepository extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + redeemableSoftCap(overrides?: CallOverrides): Promise<[BigNumber]>; redeemableUnderManagement(overrides?: CallOverrides): Promise<[BigNumber]>; @@ -833,12 +763,6 @@ export interface PerpDepository extends BaseContract { vault(overrides?: CallOverrides): Promise<[string]>; - withdrawCollateral( - amount: PromiseOrValue, - to: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - withdrawInsurance( amount: PromiseOrValue, to: PromiseOrValue, @@ -850,15 +774,16 @@ export interface PerpDepository extends BaseContract { VERSION(overrides?: CallOverrides): Promise; - baseToken(overrides?: CallOverrides): Promise; + assetDeposited(overrides?: CallOverrides): Promise; - clearingHouse(overrides?: CallOverrides): Promise; + assetToken(overrides?: CallOverrides): Promise; - collateralDeposited(overrides?: CallOverrides): Promise; + clearingHouse(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; - depositCollateral( + deposit( + asset: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -903,7 +828,7 @@ export interface PerpDepository extends BaseContract { _clearingHouse: PromiseOrValue, _marketRegistry: PromiseOrValue, _futuresMarket: PromiseOrValue, - _baseToken: PromiseOrValue, + _assetToken: PromiseOrValue, _quoteToken: PromiseOrValue, _controller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -911,33 +836,14 @@ export interface PerpDepository extends BaseContract { insuranceDeposited(overrides?: CallOverrides): Promise; + insuranceToken(overrides?: CallOverrides): Promise; + market(overrides?: CallOverrides): Promise; marketRegistry(overrides?: CallOverrides): Promise; - openLong( - params: LongPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - openShort( - params: ShortPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - owner(overrides?: CallOverrides): Promise; - processQuoteMint( - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - processQuoteRedeem( - redeemableAmount: PromiseOrValue, - account: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - proxiableUUID(overrides?: CallOverrides): Promise; quoteMinted(overrides?: CallOverrides): Promise; @@ -962,6 +868,12 @@ export interface PerpDepository extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + redeemableSoftCap(overrides?: CallOverrides): Promise; redeemableUnderManagement(overrides?: CallOverrides): Promise; @@ -1007,12 +919,6 @@ export interface PerpDepository extends BaseContract { vault(overrides?: CallOverrides): Promise; - withdrawCollateral( - amount: PromiseOrValue, - to: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - withdrawInsurance( amount: PromiseOrValue, to: PromiseOrValue, @@ -1024,18 +930,19 @@ export interface PerpDepository extends BaseContract { VERSION(overrides?: CallOverrides): Promise; - baseToken(overrides?: CallOverrides): Promise; + assetDeposited(overrides?: CallOverrides): Promise; - clearingHouse(overrides?: CallOverrides): Promise; + assetToken(overrides?: CallOverrides): Promise; - collateralDeposited(overrides?: CallOverrides): Promise; + clearingHouse(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; - depositCollateral( + deposit( + asset: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; depositInsurance( amount: PromiseOrValue, @@ -1077,7 +984,7 @@ export interface PerpDepository extends BaseContract { _clearingHouse: PromiseOrValue, _marketRegistry: PromiseOrValue, _futuresMarket: PromiseOrValue, - _baseToken: PromiseOrValue, + _assetToken: PromiseOrValue, _quoteToken: PromiseOrValue, _controller: PromiseOrValue, overrides?: CallOverrides @@ -1085,33 +992,14 @@ export interface PerpDepository extends BaseContract { insuranceDeposited(overrides?: CallOverrides): Promise; + insuranceToken(overrides?: CallOverrides): Promise; + market(overrides?: CallOverrides): Promise; marketRegistry(overrides?: CallOverrides): Promise; - openLong( - params: LongPositionParamsStruct, - overrides?: CallOverrides - ): Promise<[BigNumber, BigNumber]>; - - openShort( - params: ShortPositionParamsStruct, - overrides?: CallOverrides - ): Promise<[BigNumber, BigNumber]>; - owner(overrides?: CallOverrides): Promise; - processQuoteMint( - quoteAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - processQuoteRedeem( - redeemableAmount: PromiseOrValue, - account: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - proxiableUUID(overrides?: CallOverrides): Promise; quoteMinted(overrides?: CallOverrides): Promise; @@ -1136,6 +1024,12 @@ export interface PerpDepository extends BaseContract { overrides?: CallOverrides ): Promise<[BigNumber, BigNumber]>; + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + redeemableSoftCap(overrides?: CallOverrides): Promise; redeemableUnderManagement(overrides?: CallOverrides): Promise; @@ -1179,12 +1073,6 @@ export interface PerpDepository extends BaseContract { vault(overrides?: CallOverrides): Promise; - withdrawCollateral( - amount: PromiseOrValue, - to: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - withdrawInsurance( amount: PromiseOrValue, to: PromiseOrValue, @@ -1289,15 +1177,16 @@ export interface PerpDepository extends BaseContract { VERSION(overrides?: CallOverrides): Promise; - baseToken(overrides?: CallOverrides): Promise; + assetDeposited(overrides?: CallOverrides): Promise; - clearingHouse(overrides?: CallOverrides): Promise; + assetToken(overrides?: CallOverrides): Promise; - collateralDeposited(overrides?: CallOverrides): Promise; + clearingHouse(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; - depositCollateral( + deposit( + asset: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1340,7 +1229,7 @@ export interface PerpDepository extends BaseContract { _clearingHouse: PromiseOrValue, _marketRegistry: PromiseOrValue, _futuresMarket: PromiseOrValue, - _baseToken: PromiseOrValue, + _assetToken: PromiseOrValue, _quoteToken: PromiseOrValue, _controller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -1348,33 +1237,14 @@ export interface PerpDepository extends BaseContract { insuranceDeposited(overrides?: CallOverrides): Promise; + insuranceToken(overrides?: CallOverrides): Promise; + market(overrides?: CallOverrides): Promise; marketRegistry(overrides?: CallOverrides): Promise; - openLong( - params: LongPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - openShort( - params: ShortPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - owner(overrides?: CallOverrides): Promise; - processQuoteMint( - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - processQuoteRedeem( - redeemableAmount: PromiseOrValue, - account: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - proxiableUUID(overrides?: CallOverrides): Promise; quoteMinted(overrides?: CallOverrides): Promise; @@ -1399,6 +1269,12 @@ export interface PerpDepository extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + redeemableSoftCap(overrides?: CallOverrides): Promise; redeemableUnderManagement(overrides?: CallOverrides): Promise; @@ -1444,12 +1320,6 @@ export interface PerpDepository extends BaseContract { vault(overrides?: CallOverrides): Promise; - withdrawCollateral( - amount: PromiseOrValue, - to: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - withdrawInsurance( amount: PromiseOrValue, to: PromiseOrValue, @@ -1462,17 +1332,16 @@ export interface PerpDepository extends BaseContract { VERSION(overrides?: CallOverrides): Promise; - baseToken(overrides?: CallOverrides): Promise; + assetDeposited(overrides?: CallOverrides): Promise; - clearingHouse(overrides?: CallOverrides): Promise; + assetToken(overrides?: CallOverrides): Promise; - collateralDeposited( - overrides?: CallOverrides - ): Promise; + clearingHouse(overrides?: CallOverrides): Promise; controller(overrides?: CallOverrides): Promise; - depositCollateral( + deposit( + asset: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1515,7 +1384,7 @@ export interface PerpDepository extends BaseContract { _clearingHouse: PromiseOrValue, _marketRegistry: PromiseOrValue, _futuresMarket: PromiseOrValue, - _baseToken: PromiseOrValue, + _assetToken: PromiseOrValue, _quoteToken: PromiseOrValue, _controller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -1525,33 +1394,14 @@ export interface PerpDepository extends BaseContract { overrides?: CallOverrides ): Promise; + insuranceToken(overrides?: CallOverrides): Promise; + market(overrides?: CallOverrides): Promise; marketRegistry(overrides?: CallOverrides): Promise; - openLong( - params: LongPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - openShort( - params: ShortPositionParamsStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - owner(overrides?: CallOverrides): Promise; - processQuoteMint( - quoteAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - processQuoteRedeem( - redeemableAmount: PromiseOrValue, - account: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - proxiableUUID(overrides?: CallOverrides): Promise; quoteMinted(overrides?: CallOverrides): Promise; @@ -1576,6 +1426,12 @@ export interface PerpDepository extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + redeemableSoftCap(overrides?: CallOverrides): Promise; redeemableUnderManagement( @@ -1623,12 +1479,6 @@ export interface PerpDepository extends BaseContract { vault(overrides?: CallOverrides): Promise; - withdrawCollateral( - amount: PromiseOrValue, - to: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - withdrawInsurance( amount: PromiseOrValue, to: PromiseOrValue, diff --git a/src/typechain-types/contracts/integrations/perp/PerpDepositoryStorage.ts b/src/typechain-types/contracts/integrations/perp/PerpDepositoryStorage.ts new file mode 100644 index 0000000..adf78c2 --- /dev/null +++ b/src/typechain-types/contracts/integrations/perp/PerpDepositoryStorage.ts @@ -0,0 +1,531 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface PerpDepositoryStorageInterface extends utils.Interface { + functions: { + "assetDeposited()": FunctionFragment; + "assetToken()": FunctionFragment; + "clearingHouse()": FunctionFragment; + "controller()": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; + "depositInsurance(uint256,address)": FunctionFragment; + "getUnrealizedPnl()": FunctionFragment; + "insuranceDeposited()": FunctionFragment; + "insuranceToken()": FunctionFragment; + "market()": FunctionFragment; + "marketRegistry()": FunctionFragment; + "quoteMinted()": FunctionFragment; + "quoteToken()": FunctionFragment; + "redeem(address,uint256)": FunctionFragment; + "redeemableSoftCap()": FunctionFragment; + "redeemableUnderManagement()": FunctionFragment; + "spotSwapper()": FunctionFragment; + "totalFeesPaid()": FunctionFragment; + "vault()": FunctionFragment; + "withdrawInsurance(uint256,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "assetDeposited" + | "assetToken" + | "clearingHouse" + | "controller" + | "deposit" + | "depositInsurance" + | "getUnrealizedPnl" + | "insuranceDeposited" + | "insuranceToken" + | "market" + | "marketRegistry" + | "quoteMinted" + | "quoteToken" + | "redeem" + | "redeemableSoftCap" + | "redeemableUnderManagement" + | "spotSwapper" + | "totalFeesPaid" + | "vault" + | "withdrawInsurance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "assetDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "assetToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "clearingHouse", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "controller", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getUnrealizedPnl", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceToken", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "market", values?: undefined): string; + encodeFunctionData( + functionFragment: "marketRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quoteMinted", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quoteToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeemableSoftCap", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeemableUnderManagement", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "spotSwapper", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalFeesPaid", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "vault", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "assetDeposited", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "assetToken", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "clearingHouse", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositInsurance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUnrealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceDeposited", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceToken", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "marketRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "quoteMinted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "quoteToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "redeemableUnderManagement", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "spotSwapper", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalFeesPaid", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawInsurance", + data: BytesLike + ): Result; + + events: {}; +} + +export interface PerpDepositoryStorage extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: PerpDepositoryStorageInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + assetDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + assetToken(overrides?: CallOverrides): Promise<[string]>; + + clearingHouse(overrides?: CallOverrides): Promise<[string]>; + + controller(overrides?: CallOverrides): Promise<[string]>; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceToken(overrides?: CallOverrides): Promise<[string]>; + + market(overrides?: CallOverrides): Promise<[string]>; + + marketRegistry(overrides?: CallOverrides): Promise<[string]>; + + quoteMinted(overrides?: CallOverrides): Promise<[BigNumber]>; + + quoteToken(overrides?: CallOverrides): Promise<[string]>; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise<[BigNumber]>; + + redeemableUnderManagement(overrides?: CallOverrides): Promise<[BigNumber]>; + + spotSwapper(overrides?: CallOverrides): Promise<[string]>; + + totalFeesPaid(overrides?: CallOverrides): Promise<[BigNumber]>; + + vault(overrides?: CallOverrides): Promise<[string]>; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposited( + overrides?: CallOverrides + ): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amountToRedeem: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement( + overrides?: CallOverrides + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/integrations/perp/index.ts b/src/typechain-types/contracts/integrations/perp/index.ts new file mode 100644 index 0000000..033ba79 --- /dev/null +++ b/src/typechain-types/contracts/integrations/perp/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { PerpAccountProxy } from "./PerpAccountProxy"; +export type { PerpDepository } from "./PerpDepository"; +export type { PerpDepositoryStorage } from "./PerpDepositoryStorage"; diff --git a/src/typechain-types/contracts/integrations/rage-trade/RageDnDepository.ts b/src/typechain-types/contracts/integrations/rage-trade/RageDnDepository.ts new file mode 100644 index 0000000..6c8c196 --- /dev/null +++ b/src/typechain-types/contracts/integrations/rage-trade/RageDnDepository.ts @@ -0,0 +1,814 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export interface RageDnDepositoryInterface extends utils.Interface { + functions: { + "assetToken()": FunctionFragment; + "controller()": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; + "depositInsurance(uint256,address)": FunctionFragment; + "getDepositoryAssets()": FunctionFragment; + "getDepositoryShares()": FunctionFragment; + "getUnrealizedPnl()": FunctionFragment; + "insuranceDeposits()": FunctionFragment; + "insuranceToken()": FunctionFragment; + "netAssetDeposits()": FunctionFragment; + "owner()": FunctionFragment; + "realizedPnl()": FunctionFragment; + "redeem(address,uint256)": FunctionFragment; + "redeemable()": FunctionFragment; + "redeemableSoftCap()": FunctionFragment; + "redeemableUnderManagement()": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "setRedeemableSoftCap(uint256)": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + "vault()": FunctionFragment; + "withdrawInsurance(uint256,address)": FunctionFragment; + "withdrawProfits(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "assetToken" + | "controller" + | "deposit" + | "depositInsurance" + | "getDepositoryAssets" + | "getDepositoryShares" + | "getUnrealizedPnl" + | "insuranceDeposits" + | "insuranceToken" + | "netAssetDeposits" + | "owner" + | "realizedPnl" + | "redeem" + | "redeemable" + | "redeemableSoftCap" + | "redeemableUnderManagement" + | "renounceOwnership" + | "setRedeemableSoftCap" + | "transferOwnership" + | "vault" + | "withdrawInsurance" + | "withdrawProfits" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "assetToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "controller", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getDepositoryAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getDepositoryShares", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUnrealizedPnl", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceDeposits", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "netAssetDeposits", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "realizedPnl", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeemable", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeemableSoftCap", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeemableUnderManagement", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setRedeemableSoftCap", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "vault", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdrawProfits", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "assetToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositInsurance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDepositoryAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDepositoryShares", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUnrealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceDeposits", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "netAssetDeposits", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "realizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeemable", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "redeemableUnderManagement", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setRedeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawInsurance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawProfits", + data: BytesLike + ): Result; + + events: { + "Deposited(address,uint256,uint256,uint256)": EventFragment; + "InsuranceDeposited(address,address,uint256)": EventFragment; + "InsuranceWithdrawn(address,address,uint256)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "RedeemableSoftCapUpdated(address,uint256)": EventFragment; + "Redeemed(address,uint256,uint256,uint256)": EventFragment; + "Withdrawn(address,uint256,uint256,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceDeposited"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceWithdrawn"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RedeemableSoftCapUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Redeemed"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Withdrawn"): EventFragment; +} + +export interface DepositedEventObject { + caller: string; + assets: BigNumber; + redeemable: BigNumber; + shares: BigNumber; +} +export type DepositedEvent = TypedEvent< + [string, BigNumber, BigNumber, BigNumber], + DepositedEventObject +>; + +export type DepositedEventFilter = TypedEventFilter; + +export interface InsuranceDepositedEventObject { + caller: string; + from: string; + amount: BigNumber; +} +export type InsuranceDepositedEvent = TypedEvent< + [string, string, BigNumber], + InsuranceDepositedEventObject +>; + +export type InsuranceDepositedEventFilter = + TypedEventFilter; + +export interface InsuranceWithdrawnEventObject { + caller: string; + to: string; + amount: BigNumber; +} +export type InsuranceWithdrawnEvent = TypedEvent< + [string, string, BigNumber], + InsuranceWithdrawnEventObject +>; + +export type InsuranceWithdrawnEventFilter = + TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface RedeemableSoftCapUpdatedEventObject { + caller: string; + newSoftCap: BigNumber; +} +export type RedeemableSoftCapUpdatedEvent = TypedEvent< + [string, BigNumber], + RedeemableSoftCapUpdatedEventObject +>; + +export type RedeemableSoftCapUpdatedEventFilter = + TypedEventFilter; + +export interface RedeemedEventObject { + caller: string; + assets: BigNumber; + redeemable: BigNumber; + shares: BigNumber; +} +export type RedeemedEvent = TypedEvent< + [string, BigNumber, BigNumber, BigNumber], + RedeemedEventObject +>; + +export type RedeemedEventFilter = TypedEventFilter; + +export interface WithdrawnEventObject { + caller: string; + assets: BigNumber; + redeemable: BigNumber; + shares: BigNumber; +} +export type WithdrawnEvent = TypedEvent< + [string, BigNumber, BigNumber, BigNumber], + WithdrawnEventObject +>; + +export type WithdrawnEventFilter = TypedEventFilter; + +export interface RageDnDepository extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: RageDnDepositoryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + assetToken(overrides?: CallOverrides): Promise<[string]>; + + controller(overrides?: CallOverrides): Promise<[string]>; + + deposit( + asset: PromiseOrValue, + assetAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDepositoryAssets(overrides?: CallOverrides): Promise<[BigNumber]>; + + getDepositoryShares(overrides?: CallOverrides): Promise<[BigNumber]>; + + getUnrealizedPnl(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceDeposits(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceToken(overrides?: CallOverrides): Promise<[string]>; + + netAssetDeposits(overrides?: CallOverrides): Promise<[BigNumber]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + realizedPnl(overrides?: CallOverrides): Promise<[BigNumber]>; + + redeem( + asset: PromiseOrValue, + redeemableAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise<[string]>; + + redeemableSoftCap(overrides?: CallOverrides): Promise<[BigNumber]>; + + redeemableUnderManagement(overrides?: CallOverrides): Promise<[BigNumber]>; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise<[string]>; + + withdrawInsurance( + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawProfits( + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + assetToken(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + assetAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDepositoryAssets(overrides?: CallOverrides): Promise; + + getDepositoryShares(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposits(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + netAssetDeposits(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + realizedPnl(overrides?: CallOverrides): Promise; + + redeem( + asset: PromiseOrValue, + redeemableAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawProfits( + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + assetToken(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + assetAmount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getDepositoryAssets(overrides?: CallOverrides): Promise; + + getDepositoryShares(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposits(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + netAssetDeposits(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + realizedPnl(overrides?: CallOverrides): Promise; + + redeem( + asset: PromiseOrValue, + redeemableAmount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdrawProfits( + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Deposited(address,uint256,uint256,uint256)"( + caller?: PromiseOrValue | null, + assets?: null, + redeemable?: null, + shares?: null + ): DepositedEventFilter; + Deposited( + caller?: PromiseOrValue | null, + assets?: null, + redeemable?: null, + shares?: null + ): DepositedEventFilter; + + "InsuranceDeposited(address,address,uint256)"( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + InsuranceDeposited( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + + "InsuranceWithdrawn(address,address,uint256)"( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + InsuranceWithdrawn( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + + "RedeemableSoftCapUpdated(address,uint256)"( + caller?: PromiseOrValue | null, + newSoftCap?: null + ): RedeemableSoftCapUpdatedEventFilter; + RedeemableSoftCapUpdated( + caller?: PromiseOrValue | null, + newSoftCap?: null + ): RedeemableSoftCapUpdatedEventFilter; + + "Redeemed(address,uint256,uint256,uint256)"( + caller?: PromiseOrValue | null, + assets?: null, + redeemable?: null, + shares?: null + ): RedeemedEventFilter; + Redeemed( + caller?: PromiseOrValue | null, + assets?: null, + redeemable?: null, + shares?: null + ): RedeemedEventFilter; + + "Withdrawn(address,uint256,uint256,uint256)"( + caller?: PromiseOrValue | null, + assets?: null, + redeemable?: null, + shares?: null + ): WithdrawnEventFilter; + Withdrawn( + caller?: PromiseOrValue | null, + assets?: null, + redeemable?: null, + shares?: null + ): WithdrawnEventFilter; + }; + + estimateGas: { + assetToken(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + assetAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDepositoryAssets(overrides?: CallOverrides): Promise; + + getDepositoryShares(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposits(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + netAssetDeposits(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + realizedPnl(overrides?: CallOverrides): Promise; + + redeem( + asset: PromiseOrValue, + redeemableAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawProfits( + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + assetToken(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + assetAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getDepositoryAssets( + overrides?: CallOverrides + ): Promise; + + getDepositoryShares( + overrides?: CallOverrides + ): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + insuranceDeposits(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + netAssetDeposits(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + realizedPnl(overrides?: CallOverrides): Promise; + + redeem( + asset: PromiseOrValue, + redeemableAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement( + overrides?: CallOverrides + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdrawProfits( + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/integrations/rage-trade/index.ts b/src/typechain-types/contracts/integrations/rage-trade/index.ts new file mode 100644 index 0000000..84e6d1f --- /dev/null +++ b/src/typechain-types/contracts/integrations/rage-trade/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { RageDnDepository } from "./RageDnDepository"; diff --git a/src/typechain-types/contracts/integrations/uniswap/Uniswapper.ts b/src/typechain-types/contracts/integrations/uniswap/Uniswapper.ts new file mode 100644 index 0000000..68bc4fa --- /dev/null +++ b/src/typechain-types/contracts/integrations/uniswap/Uniswapper.ts @@ -0,0 +1,149 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../common"; + +export type SwapParamsStruct = { + tokenIn: PromiseOrValue; + tokenOut: PromiseOrValue; + amountIn: PromiseOrValue; + amountOutMinimum: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + poolFee: PromiseOrValue; +}; + +export type SwapParamsStructOutput = [ + string, + string, + BigNumber, + BigNumber, + BigNumber, + number +] & { + tokenIn: string; + tokenOut: string; + amountIn: BigNumber; + amountOutMinimum: BigNumber; + sqrtPriceLimitX96: BigNumber; + poolFee: number; +}; + +export interface UniswapperInterface extends utils.Interface { + functions: { + "swapExactInput((address,address,uint256,uint256,uint160,uint24))": FunctionFragment; + "swapRouter()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "swapExactInput" | "swapRouter" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "swapExactInput", + values: [SwapParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "swapRouter", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "swapExactInput", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "swapRouter", data: BytesLike): Result; + + events: {}; +} + +export interface Uniswapper extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: UniswapperInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swapRouter(overrides?: CallOverrides): Promise<[string]>; + }; + + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swapRouter(overrides?: CallOverrides): Promise; + + callStatic: { + swapExactInput( + params: SwapParamsStruct, + overrides?: CallOverrides + ): Promise; + + swapRouter(overrides?: CallOverrides): Promise; + }; + + filters: {}; + + estimateGas: { + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swapRouter(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + swapExactInput( + params: SwapParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + swapRouter(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/typechain-types/contracts/integrations/uniswap/index.ts b/src/typechain-types/contracts/integrations/uniswap/index.ts new file mode 100644 index 0000000..03523e0 --- /dev/null +++ b/src/typechain-types/contracts/integrations/uniswap/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Uniswapper } from "./Uniswapper"; diff --git a/src/typechain-types/contracts/test/MockController.ts b/src/typechain-types/contracts/test/MockController.ts new file mode 100644 index 0000000..6b2beb1 --- /dev/null +++ b/src/typechain-types/contracts/test/MockController.ts @@ -0,0 +1,209 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface MockControllerInterface extends utils.Interface { + functions: { + "deposit(address,uint256)": FunctionFragment; + "depository()": FunctionFragment; + "updateDepository(address)": FunctionFragment; + "withdraw(address,uint256,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "deposit" + | "depository" + | "updateDepository" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depository", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateDepository", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "depository", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateDepository", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: {}; +} + +export interface MockController extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: MockControllerInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depository(overrides?: CallOverrides): Promise<[string]>; + + updateDepository( + _depository: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depository(overrides?: CallOverrides): Promise; + + updateDepository( + _depository: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depository(overrides?: CallOverrides): Promise; + + updateDepository( + _depository: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depository(overrides?: CallOverrides): Promise; + + updateDepository( + _depository: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depository(overrides?: CallOverrides): Promise; + + updateDepository( + _depository: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/MockPerpAccountBalance.ts b/src/typechain-types/contracts/test/MockPerpAccountBalance.ts new file mode 100644 index 0000000..dfe4ada --- /dev/null +++ b/src/typechain-types/contracts/test/MockPerpAccountBalance.ts @@ -0,0 +1,233 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface MockPerpAccountBalanceInterface extends utils.Interface { + functions: { + "getTotalAbsPositionValue(address)": FunctionFragment; + "getTotalOpenNotional(address,address)": FunctionFragment; + "setOpenNotional(address,address,int256)": FunctionFragment; + "setPositionValue(uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "getTotalAbsPositionValue" + | "getTotalOpenNotional" + | "setOpenNotional" + | "setPositionValue" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getTotalAbsPositionValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getTotalOpenNotional", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setOpenNotional", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "setPositionValue", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "getTotalAbsPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTotalOpenNotional", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setOpenNotional", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setPositionValue", + data: BytesLike + ): Result; + + events: {}; +} + +export interface MockPerpAccountBalance extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: MockPerpAccountBalanceInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getTotalAbsPositionValue( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getTotalOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { totalOpenNotional: BigNumber }>; + + setOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setPositionValue( + positionValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + getTotalAbsPositionValue( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setPositionValue( + positionValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + getTotalAbsPositionValue( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + value: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setPositionValue( + positionValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + getTotalAbsPositionValue( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setPositionValue( + positionValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + getTotalAbsPositionValue( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getTotalOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setOpenNotional( + account: PromiseOrValue, + market: PromiseOrValue, + value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setPositionValue( + positionValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/MockPerpClearingHouse.ts b/src/typechain-types/contracts/test/MockPerpClearingHouse.ts new file mode 100644 index 0000000..423606b --- /dev/null +++ b/src/typechain-types/contracts/test/MockPerpClearingHouse.ts @@ -0,0 +1,270 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export declare namespace IClearingHouse { + export type OpenPositionParamsStruct = { + baseToken: PromiseOrValue; + isBaseToQuote: PromiseOrValue; + isExactInput: PromiseOrValue; + amount: PromiseOrValue; + oppositeAmountBound: PromiseOrValue; + deadline: PromiseOrValue; + sqrtPriceLimitX96: PromiseOrValue; + referralCode: PromiseOrValue; + }; + + export type OpenPositionParamsStructOutput = [ + string, + boolean, + boolean, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string + ] & { + baseToken: string; + isBaseToQuote: boolean; + isExactInput: boolean; + amount: BigNumber; + oppositeAmountBound: BigNumber; + deadline: BigNumber; + sqrtPriceLimitX96: BigNumber; + referralCode: string; + }; +} + +export interface MockPerpClearingHouseInterface extends utils.Interface { + functions: { + "getAccountBalance()": FunctionFragment; + "multiplier()": FunctionFragment; + "openPosition((address,bool,bool,uint256,uint256,uint256,uint160,bytes32))": FunctionFragment; + "setAccountBalance(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "getAccountBalance" + | "multiplier" + | "openPosition" + | "setAccountBalance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getAccountBalance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "multiplier", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "openPosition", + values: [IClearingHouse.OpenPositionParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setAccountBalance", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "getAccountBalance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multiplier", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "openPosition", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAccountBalance", + data: BytesLike + ): Result; + + events: { + "OpenPositionCalled(address,bool,bool,uint256,uint256,uint256,uint160,bytes32)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "OpenPositionCalled"): EventFragment; +} + +export interface OpenPositionCalledEventObject { + baseToken: string; + isBaseToQuote: boolean; + isExactInput: boolean; + amount: BigNumber; + oppositeAmountBound: BigNumber; + deadline: BigNumber; + sqrtPriceLimitX96: BigNumber; + referralCode: string; +} +export type OpenPositionCalledEvent = TypedEvent< + [ + string, + boolean, + boolean, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string + ], + OpenPositionCalledEventObject +>; + +export type OpenPositionCalledEventFilter = + TypedEventFilter; + +export interface MockPerpClearingHouse extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: MockPerpClearingHouseInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getAccountBalance(overrides?: CallOverrides): Promise<[string]>; + + multiplier(overrides?: CallOverrides): Promise<[BigNumber]>; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAccountBalance( + balanceContract: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + getAccountBalance(overrides?: CallOverrides): Promise; + + multiplier(overrides?: CallOverrides): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAccountBalance( + balanceContract: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + getAccountBalance(overrides?: CallOverrides): Promise; + + multiplier(overrides?: CallOverrides): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber]>; + + setAccountBalance( + balanceContract: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "OpenPositionCalled(address,bool,bool,uint256,uint256,uint256,uint160,bytes32)"( + baseToken?: null, + isBaseToQuote?: null, + isExactInput?: null, + amount?: null, + oppositeAmountBound?: null, + deadline?: null, + sqrtPriceLimitX96?: null, + referralCode?: null + ): OpenPositionCalledEventFilter; + OpenPositionCalled( + baseToken?: null, + isBaseToQuote?: null, + isExactInput?: null, + amount?: null, + oppositeAmountBound?: null, + deadline?: null, + sqrtPriceLimitX96?: null, + referralCode?: null + ): OpenPositionCalledEventFilter; + }; + + estimateGas: { + getAccountBalance(overrides?: CallOverrides): Promise; + + multiplier(overrides?: CallOverrides): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAccountBalance( + balanceContract: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + getAccountBalance(overrides?: CallOverrides): Promise; + + multiplier(overrides?: CallOverrides): Promise; + + openPosition( + params: IClearingHouse.OpenPositionParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAccountBalance( + balanceContract: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/MockPerpMarketRegistry.ts b/src/typechain-types/contracts/test/MockPerpMarketRegistry.ts new file mode 100644 index 0000000..f829378 --- /dev/null +++ b/src/typechain-types/contracts/test/MockPerpMarketRegistry.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface MockPerpMarketRegistryInterface extends utils.Interface { + functions: { + "getFeeRatio(address)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "getFeeRatio"): FunctionFragment; + + encodeFunctionData( + functionFragment: "getFeeRatio", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "getFeeRatio", + data: BytesLike + ): Result; + + events: {}; +} + +export interface MockPerpMarketRegistry extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: MockPerpMarketRegistryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getFeeRatio( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + }; + + getFeeRatio( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + getFeeRatio( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + getFeeRatio( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + getFeeRatio( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/MockPerpVault.ts b/src/typechain-types/contracts/test/MockPerpVault.ts new file mode 100644 index 0000000..fca0e03 --- /dev/null +++ b/src/typechain-types/contracts/test/MockPerpVault.ts @@ -0,0 +1,160 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface MockPerpVaultInterface extends utils.Interface { + functions: { + "deposit(address,uint256)": FunctionFragment; + "withdraw(address,uint256)": FunctionFragment; + }; + + getFunction(nameOrSignatureOrTopic: "deposit" | "withdraw"): FunctionFragment; + + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: { + "DepositCalled()": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "DepositCalled"): EventFragment; +} + +export interface DepositCalledEventObject {} +export type DepositCalledEvent = TypedEvent<[], DepositCalledEventObject>; + +export type DepositCalledEventFilter = TypedEventFilter; + +export interface MockPerpVault extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: MockPerpVaultInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "DepositCalled()"(): DepositCalledEventFilter; + DepositCalled(): DepositCalledEventFilter; + }; + + estimateGas: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/TestDepository.ts b/src/typechain-types/contracts/test/TestDepository.ts new file mode 100644 index 0000000..a2730bd --- /dev/null +++ b/src/typechain-types/contracts/test/TestDepository.ts @@ -0,0 +1,754 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface TestDepositoryInterface extends utils.Interface { + functions: { + "assetToken()": FunctionFragment; + "collateralDeposited()": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; + "depositInsurance(uint256,address)": FunctionFragment; + "getExchangeFee()": FunctionFragment; + "getExchangeFeeWad()": FunctionFragment; + "getPositionValue()": FunctionFragment; + "getUnrealizedPnl()": FunctionFragment; + "initialize(address,address,address)": FunctionFragment; + "insuranceDeposited()": FunctionFragment; + "insuranceToken()": FunctionFragment; + "market()": FunctionFragment; + "processQuoteMint(uint256)": FunctionFragment; + "processQuoteRedeem(uint256,address)": FunctionFragment; + "quoteToken()": FunctionFragment; + "redeem(address,uint256)": FunctionFragment; + "redeemableSoftCap()": FunctionFragment; + "redeemableUnderManagement()": FunctionFragment; + "totalFeesPaid()": FunctionFragment; + "withdrawInsurance(uint256,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "assetToken" + | "collateralDeposited" + | "deposit" + | "depositInsurance" + | "getExchangeFee" + | "getExchangeFeeWad" + | "getPositionValue" + | "getUnrealizedPnl" + | "initialize" + | "insuranceDeposited" + | "insuranceToken" + | "market" + | "processQuoteMint" + | "processQuoteRedeem" + | "quoteToken" + | "redeem" + | "redeemableSoftCap" + | "redeemableUnderManagement" + | "totalFeesPaid" + | "withdrawInsurance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "assetToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "collateralDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getExchangeFee", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getExchangeFeeWad", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPositionValue", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUnrealizedPnl", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "insuranceDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceToken", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "market", values?: undefined): string; + encodeFunctionData( + functionFragment: "processQuoteMint", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "processQuoteRedeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "quoteToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeemableSoftCap", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeemableUnderManagement", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalFeesPaid", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "withdrawInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "assetToken", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "collateralDeposited", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositInsurance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchangeFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchangeFeeWad", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUnrealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "insuranceDeposited", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceToken", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "processQuoteMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "processQuoteRedeem", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "quoteToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "redeemableUnderManagement", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalFeesPaid", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawInsurance", + data: BytesLike + ): Result; + + events: { + "CollateralDeposited(address,uint256)": EventFragment; + "CollateralWithdrawnTo(address,uint256,address)": EventFragment; + "InsuranceDeposited(address,address,uint256)": EventFragment; + "InsuranceWithdrawn(address,address,uint256)": EventFragment; + "LongOpened(uint256,address)": EventFragment; + "ShortOpened(uint256,address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "CollateralDeposited"): EventFragment; + getEvent(nameOrSignatureOrTopic: "CollateralWithdrawnTo"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceDeposited"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceWithdrawn"): EventFragment; + getEvent(nameOrSignatureOrTopic: "LongOpened"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ShortOpened"): EventFragment; +} + +export interface CollateralDepositedEventObject { + token: string; + amount: BigNumber; +} +export type CollateralDepositedEvent = TypedEvent< + [string, BigNumber], + CollateralDepositedEventObject +>; + +export type CollateralDepositedEventFilter = + TypedEventFilter; + +export interface CollateralWithdrawnToEventObject { + token: string; + amount: BigNumber; + to: string; +} +export type CollateralWithdrawnToEvent = TypedEvent< + [string, BigNumber, string], + CollateralWithdrawnToEventObject +>; + +export type CollateralWithdrawnToEventFilter = + TypedEventFilter; + +export interface InsuranceDepositedEventObject { + caller: string; + from: string; + amount: BigNumber; +} +export type InsuranceDepositedEvent = TypedEvent< + [string, string, BigNumber], + InsuranceDepositedEventObject +>; + +export type InsuranceDepositedEventFilter = + TypedEventFilter; + +export interface InsuranceWithdrawnEventObject { + caller: string; + to: string; + amount: BigNumber; +} +export type InsuranceWithdrawnEvent = TypedEvent< + [string, string, BigNumber], + InsuranceWithdrawnEventObject +>; + +export type InsuranceWithdrawnEventFilter = + TypedEventFilter; + +export interface LongOpenedEventObject { + amount: BigNumber; + collateral: string; +} +export type LongOpenedEvent = TypedEvent< + [BigNumber, string], + LongOpenedEventObject +>; + +export type LongOpenedEventFilter = TypedEventFilter; + +export interface ShortOpenedEventObject { + amount: BigNumber; + collateral: string; +} +export type ShortOpenedEvent = TypedEvent< + [BigNumber, string], + ShortOpenedEventObject +>; + +export type ShortOpenedEventFilter = TypedEventFilter; + +export interface TestDepository extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: TestDepositoryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + assetToken(overrides?: CallOverrides): Promise<[string]>; + + collateralDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise<[BigNumber]>; + + getExchangeFeeWad(overrides?: CallOverrides): Promise<[BigNumber]>; + + getPositionValue(overrides?: CallOverrides): Promise<[BigNumber]>; + + getUnrealizedPnl(overrides?: CallOverrides): Promise<[BigNumber]>; + + initialize( + _futuresMarket: PromiseOrValue, + _baseToken: PromiseOrValue, + _insuranceToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceToken(overrides?: CallOverrides): Promise<[string]>; + + market(overrides?: CallOverrides): Promise<[string]>; + + processQuoteMint( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + processQuoteRedeem( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + quoteToken(overrides?: CallOverrides): Promise<[string]>; + + redeem( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise<[BigNumber]>; + + redeemableUnderManagement(overrides?: CallOverrides): Promise<[BigNumber]>; + + totalFeesPaid(overrides?: CallOverrides): Promise<[BigNumber]>; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + assetToken(overrides?: CallOverrides): Promise; + + collateralDeposited(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _futuresMarket: PromiseOrValue, + _baseToken: PromiseOrValue, + _insuranceToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + processQuoteMint( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + processQuoteRedeem( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + assetToken(overrides?: CallOverrides): Promise; + + collateralDeposited(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _futuresMarket: PromiseOrValue, + _baseToken: PromiseOrValue, + _insuranceToken: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + processQuoteMint( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + processQuoteRedeem( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "CollateralDeposited(address,uint256)"( + token?: PromiseOrValue | null, + amount?: null + ): CollateralDepositedEventFilter; + CollateralDeposited( + token?: PromiseOrValue | null, + amount?: null + ): CollateralDepositedEventFilter; + + "CollateralWithdrawnTo(address,uint256,address)"( + token?: PromiseOrValue | null, + amount?: null, + to?: PromiseOrValue | null + ): CollateralWithdrawnToEventFilter; + CollateralWithdrawnTo( + token?: PromiseOrValue | null, + amount?: null, + to?: PromiseOrValue | null + ): CollateralWithdrawnToEventFilter; + + "InsuranceDeposited(address,address,uint256)"( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + InsuranceDeposited( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + + "InsuranceWithdrawn(address,address,uint256)"( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + InsuranceWithdrawn( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + + "LongOpened(uint256,address)"( + amount?: null, + collateral?: PromiseOrValue | null + ): LongOpenedEventFilter; + LongOpened( + amount?: null, + collateral?: PromiseOrValue | null + ): LongOpenedEventFilter; + + "ShortOpened(uint256,address)"( + amount?: null, + collateral?: PromiseOrValue | null + ): ShortOpenedEventFilter; + ShortOpened( + amount?: null, + collateral?: PromiseOrValue | null + ): ShortOpenedEventFilter; + }; + + estimateGas: { + assetToken(overrides?: CallOverrides): Promise; + + collateralDeposited(overrides?: CallOverrides): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _futuresMarket: PromiseOrValue, + _baseToken: PromiseOrValue, + _insuranceToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + processQuoteMint( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + processQuoteRedeem( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + assetToken(overrides?: CallOverrides): Promise; + + collateralDeposited( + overrides?: CallOverrides + ): Promise; + + deposit( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _futuresMarket: PromiseOrValue, + _baseToken: PromiseOrValue, + _insuranceToken: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited( + overrides?: CallOverrides + ): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + processQuoteMint( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + processQuoteRedeem( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + redeem( + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement( + overrides?: CallOverrides + ): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/TestERC20.ts b/src/typechain-types/contracts/test/TestERC20.ts new file mode 100644 index 0000000..ee45398 --- /dev/null +++ b/src/typechain-types/contracts/test/TestERC20.ts @@ -0,0 +1,464 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface TestERC20Interface extends utils.Interface { + functions: { + "allowance(address,address)": FunctionFragment; + "approve(address,uint256)": FunctionFragment; + "balanceOf(address)": FunctionFragment; + "decimals()": FunctionFragment; + "decreaseAllowance(address,uint256)": FunctionFragment; + "increaseAllowance(address,uint256)": FunctionFragment; + "name()": FunctionFragment; + "symbol()": FunctionFragment; + "totalSupply()": FunctionFragment; + "transfer(address,uint256)": FunctionFragment; + "transferFrom(address,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "increaseAllowance" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + + events: { + "Approval(address,address,uint256)": EventFragment; + "Transfer(address,address,uint256)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent< + [string, string, BigNumber], + ApprovalEventObject +>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent< + [string, string, BigNumber], + TransferEventObject +>; + +export type TransferEventFilter = TypedEventFilter; + +export interface TestERC20 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: TestERC20Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise<[string]>; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Approval(address,address,uint256)"( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null + ): ApprovalEventFilter; + + "Transfer(address,address,uint256)"( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null + ): TransferEventFilter; + }; + + estimateGas: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + allowance( + owner: PromiseOrValue, + spender: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + approve( + spender: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + balanceOf( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + decreaseAllowance( + spender: PromiseOrValue, + subtractedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + increaseAllowance( + spender: PromiseOrValue, + addedValue: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + name(overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transfer( + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/TestPerpDepository.ts b/src/typechain-types/contracts/test/TestPerpDepository.ts new file mode 100644 index 0000000..27dcb30 --- /dev/null +++ b/src/typechain-types/contracts/test/TestPerpDepository.ts @@ -0,0 +1,1488 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export type DepositoryStateStruct = { + assetDeposited: PromiseOrValue; + insuranceDeposited: PromiseOrValue; + redeemableUnderManagement: PromiseOrValue; + totalFeesPaid: PromiseOrValue; + redeemableSoftCap: PromiseOrValue; +}; + +export type DepositoryStateStructOutput = [ + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber +] & { + assetDeposited: BigNumber; + insuranceDeposited: BigNumber; + redeemableUnderManagement: BigNumber; + totalFeesPaid: BigNumber; + redeemableSoftCap: BigNumber; +}; + +export interface TestPerpDepositoryInterface extends utils.Interface { + functions: { + "HUNDRED_PERCENT()": FunctionFragment; + "VERSION()": FunctionFragment; + "assetDeposited()": FunctionFragment; + "assetToken()": FunctionFragment; + "clearingHouse()": FunctionFragment; + "controller()": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; + "depositInsurance(uint256,address)": FunctionFragment; + "getAccountValue(address)": FunctionFragment; + "getCurrentState()": FunctionFragment; + "getDebtValue(address)": FunctionFragment; + "getExchangeFee()": FunctionFragment; + "getExchangeFeeWad()": FunctionFragment; + "getFreeCollateral()": FunctionFragment; + "getMarkPriceTwap(uint32)": FunctionFragment; + "getPositionValue()": FunctionFragment; + "getUnrealizedPnl()": FunctionFragment; + "initialize(address,address,address,address,address,address,address)": FunctionFragment; + "insuranceDeposited()": FunctionFragment; + "insuranceToken()": FunctionFragment; + "market()": FunctionFragment; + "marketRegistry()": FunctionFragment; + "owner()": FunctionFragment; + "proxiableUUID()": FunctionFragment; + "quoteMinted()": FunctionFragment; + "quoteToken()": FunctionFragment; + "rebalance(uint256,uint256,uint160,uint24,int8,address)": FunctionFragment; + "rebalanceLite(uint256,int8,uint160,address)": FunctionFragment; + "redeem(address,uint256)": FunctionFragment; + "redeemableSoftCap()": FunctionFragment; + "redeemableUnderManagement()": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "setController(address)": FunctionFragment; + "setRedeemableSoftCap(uint256)": FunctionFragment; + "setSpotSwapper(address)": FunctionFragment; + "spotSwapper()": FunctionFragment; + "totalFeesPaid()": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + "upgradeTo(address)": FunctionFragment; + "upgradeToAndCall(address,bytes)": FunctionFragment; + "vault()": FunctionFragment; + "withdrawInsurance(uint256,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "HUNDRED_PERCENT" + | "VERSION" + | "assetDeposited" + | "assetToken" + | "clearingHouse" + | "controller" + | "deposit" + | "depositInsurance" + | "getAccountValue" + | "getCurrentState" + | "getDebtValue" + | "getExchangeFee" + | "getExchangeFeeWad" + | "getFreeCollateral" + | "getMarkPriceTwap" + | "getPositionValue" + | "getUnrealizedPnl" + | "initialize" + | "insuranceDeposited" + | "insuranceToken" + | "market" + | "marketRegistry" + | "owner" + | "proxiableUUID" + | "quoteMinted" + | "quoteToken" + | "rebalance" + | "rebalanceLite" + | "redeem" + | "redeemableSoftCap" + | "redeemableUnderManagement" + | "renounceOwnership" + | "setController" + | "setRedeemableSoftCap" + | "setSpotSwapper" + | "spotSwapper" + | "totalFeesPaid" + | "transferOwnership" + | "upgradeTo" + | "upgradeToAndCall" + | "vault" + | "withdrawInsurance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "HUNDRED_PERCENT", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "VERSION", values?: undefined): string; + encodeFunctionData( + functionFragment: "assetDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "assetToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "clearingHouse", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "controller", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getAccountValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getCurrentState", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getDebtValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getExchangeFee", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getExchangeFeeWad", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateral", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getMarkPriceTwap", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPositionValue", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUnrealizedPnl", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "insuranceDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceToken", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "market", values?: undefined): string; + encodeFunctionData( + functionFragment: "marketRegistry", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "proxiableUUID", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quoteMinted", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quoteToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "rebalance", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "rebalanceLite", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeemableSoftCap", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeemableUnderManagement", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setController", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setRedeemableSoftCap", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setSpotSwapper", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "spotSwapper", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalFeesPaid", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "vault", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "HUNDRED_PERCENT", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "VERSION", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "assetDeposited", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "assetToken", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "clearingHouse", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositInsurance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCurrentState", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDebtValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchangeFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchangeFeeWad", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMarkPriceTwap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUnrealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "insuranceDeposited", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceToken", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "marketRegistry", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proxiableUUID", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "quoteMinted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "quoteToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "rebalance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "rebalanceLite", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "redeemableUnderManagement", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setController", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setRedeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSpotSwapper", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "spotSwapper", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalFeesPaid", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawInsurance", + data: BytesLike + ): Result; + + events: { + "AdminChanged(address,address)": EventFragment; + "BeaconUpgraded(address)": EventFragment; + "Initialized(uint8)": EventFragment; + "InsuranceDeposited(address,address,uint256)": EventFragment; + "InsuranceWithdrawn(address,address,uint256)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "PositionOpened(bool,uint256,bool,uint160)": EventFragment; + "Rebalanced(uint256,uint256,int256)": EventFragment; + "RedeemableSoftCapUpdated(address,uint256)": EventFragment; + "Upgraded(address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceDeposited"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceWithdrawn"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "PositionOpened"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Rebalanced"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RedeemableSoftCapUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; +} + +export interface AdminChangedEventObject { + previousAdmin: string; + newAdmin: string; +} +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject +>; + +export type AdminChangedEventFilter = TypedEventFilter; + +export interface BeaconUpgradedEventObject { + beacon: string; +} +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject +>; + +export type BeaconUpgradedEventFilter = TypedEventFilter; + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface InsuranceDepositedEventObject { + caller: string; + from: string; + amount: BigNumber; +} +export type InsuranceDepositedEvent = TypedEvent< + [string, string, BigNumber], + InsuranceDepositedEventObject +>; + +export type InsuranceDepositedEventFilter = + TypedEventFilter; + +export interface InsuranceWithdrawnEventObject { + caller: string; + to: string; + amount: BigNumber; +} +export type InsuranceWithdrawnEvent = TypedEvent< + [string, string, BigNumber], + InsuranceWithdrawnEventObject +>; + +export type InsuranceWithdrawnEventFilter = + TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface PositionOpenedEventObject { + isShort: boolean; + amount: BigNumber; + amountIsInput: boolean; + sqrtPriceLimitX96: BigNumber; +} +export type PositionOpenedEvent = TypedEvent< + [boolean, BigNumber, boolean, BigNumber], + PositionOpenedEventObject +>; + +export type PositionOpenedEventFilter = TypedEventFilter; + +export interface RebalancedEventObject { + baseAmount: BigNumber; + quoteAmount: BigNumber; + shortfall: BigNumber; +} +export type RebalancedEvent = TypedEvent< + [BigNumber, BigNumber, BigNumber], + RebalancedEventObject +>; + +export type RebalancedEventFilter = TypedEventFilter; + +export interface RedeemableSoftCapUpdatedEventObject { + caller: string; + newSoftCap: BigNumber; +} +export type RedeemableSoftCapUpdatedEvent = TypedEvent< + [string, BigNumber], + RedeemableSoftCapUpdatedEventObject +>; + +export type RedeemableSoftCapUpdatedEventFilter = + TypedEventFilter; + +export interface UpgradedEventObject { + implementation: string; +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; + +export type UpgradedEventFilter = TypedEventFilter; + +export interface TestPerpDepository extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: TestPerpDepositoryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise<[BigNumber]>; + + VERSION(overrides?: CallOverrides): Promise<[string]>; + + assetDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + assetToken(overrides?: CallOverrides): Promise<[string]>; + + clearingHouse(overrides?: CallOverrides): Promise<[string]>; + + controller(overrides?: CallOverrides): Promise<[string]>; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getCurrentState( + overrides?: CallOverrides + ): Promise<[DepositoryStateStructOutput]>; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getExchangeFee(overrides?: CallOverrides): Promise<[BigNumber]>; + + getExchangeFeeWad(overrides?: CallOverrides): Promise<[BigNumber]>; + + getFreeCollateral(overrides?: CallOverrides): Promise<[BigNumber]>; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getPositionValue(overrides?: CallOverrides): Promise<[BigNumber]>; + + getUnrealizedPnl(overrides?: CallOverrides): Promise<[BigNumber]>; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceToken(overrides?: CallOverrides): Promise<[string]>; + + market(overrides?: CallOverrides): Promise<[string]>; + + marketRegistry(overrides?: CallOverrides): Promise<[string]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + proxiableUUID(overrides?: CallOverrides): Promise<[string]>; + + quoteMinted(overrides?: CallOverrides): Promise<[BigNumber]>; + + quoteToken(overrides?: CallOverrides): Promise<[string]>; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise<[BigNumber]>; + + redeemableUnderManagement(overrides?: CallOverrides): Promise<[BigNumber]>; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise<[string]>; + + totalFeesPaid(overrides?: CallOverrides): Promise<[BigNumber]>; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise<[string]>; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState( + overrides?: CallOverrides + ): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState( + overrides?: CallOverrides + ): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber]>; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber]>; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "AdminChanged(address,address)"( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + AdminChanged( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + + "BeaconUpgraded(address)"( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + BeaconUpgraded( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "InsuranceDeposited(address,address,uint256)"( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + InsuranceDeposited( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + + "InsuranceWithdrawn(address,address,uint256)"( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + InsuranceWithdrawn( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + + "PositionOpened(bool,uint256,bool,uint160)"( + isShort?: null, + amount?: null, + amountIsInput?: null, + sqrtPriceLimitX96?: null + ): PositionOpenedEventFilter; + PositionOpened( + isShort?: null, + amount?: null, + amountIsInput?: null, + sqrtPriceLimitX96?: null + ): PositionOpenedEventFilter; + + "Rebalanced(uint256,uint256,int256)"( + baseAmount?: null, + quoteAmount?: null, + shortfall?: null + ): RebalancedEventFilter; + Rebalanced( + baseAmount?: null, + quoteAmount?: null, + shortfall?: null + ): RebalancedEventFilter; + + "RedeemableSoftCapUpdated(address,uint256)"( + caller?: PromiseOrValue | null, + newSoftCap?: null + ): RedeemableSoftCapUpdatedEventFilter; + RedeemableSoftCapUpdated( + caller?: PromiseOrValue | null, + newSoftCap?: null + ): RedeemableSoftCapUpdatedEventFilter; + + "Upgraded(address)"( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + Upgraded( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + }; + + estimateGas: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState(overrides?: CallOverrides): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState(overrides?: CallOverrides): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited( + overrides?: CallOverrides + ): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement( + overrides?: CallOverrides + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/TestPerpDepositoryUpgrade.ts b/src/typechain-types/contracts/test/TestPerpDepositoryUpgrade.ts new file mode 100644 index 0000000..28cde13 --- /dev/null +++ b/src/typechain-types/contracts/test/TestPerpDepositoryUpgrade.ts @@ -0,0 +1,1488 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export type DepositoryStateStruct = { + assetDeposited: PromiseOrValue; + insuranceDeposited: PromiseOrValue; + redeemableUnderManagement: PromiseOrValue; + totalFeesPaid: PromiseOrValue; + redeemableSoftCap: PromiseOrValue; +}; + +export type DepositoryStateStructOutput = [ + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber +] & { + assetDeposited: BigNumber; + insuranceDeposited: BigNumber; + redeemableUnderManagement: BigNumber; + totalFeesPaid: BigNumber; + redeemableSoftCap: BigNumber; +}; + +export interface TestPerpDepositoryUpgradeInterface extends utils.Interface { + functions: { + "HUNDRED_PERCENT()": FunctionFragment; + "VERSION()": FunctionFragment; + "assetDeposited()": FunctionFragment; + "assetToken()": FunctionFragment; + "clearingHouse()": FunctionFragment; + "controller()": FunctionFragment; + "deposit(address,uint256)": FunctionFragment; + "depositInsurance(uint256,address)": FunctionFragment; + "getAccountValue(address)": FunctionFragment; + "getCurrentState()": FunctionFragment; + "getDebtValue(address)": FunctionFragment; + "getExchangeFee()": FunctionFragment; + "getExchangeFeeWad()": FunctionFragment; + "getFreeCollateral()": FunctionFragment; + "getMarkPriceTwap(uint32)": FunctionFragment; + "getPositionValue()": FunctionFragment; + "getUnrealizedPnl()": FunctionFragment; + "initialize(address,address,address,address,address,address,address)": FunctionFragment; + "insuranceDeposited()": FunctionFragment; + "insuranceToken()": FunctionFragment; + "market()": FunctionFragment; + "marketRegistry()": FunctionFragment; + "owner()": FunctionFragment; + "proxiableUUID()": FunctionFragment; + "quoteMinted()": FunctionFragment; + "quoteToken()": FunctionFragment; + "rebalance(uint256,uint256,uint160,uint24,int8,address)": FunctionFragment; + "rebalanceLite(uint256,int8,uint160,address)": FunctionFragment; + "redeem(address,uint256)": FunctionFragment; + "redeemableSoftCap()": FunctionFragment; + "redeemableUnderManagement()": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "setController(address)": FunctionFragment; + "setRedeemableSoftCap(uint256)": FunctionFragment; + "setSpotSwapper(address)": FunctionFragment; + "spotSwapper()": FunctionFragment; + "totalFeesPaid()": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + "upgradeTo(address)": FunctionFragment; + "upgradeToAndCall(address,bytes)": FunctionFragment; + "vault()": FunctionFragment; + "withdrawInsurance(uint256,address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "HUNDRED_PERCENT" + | "VERSION" + | "assetDeposited" + | "assetToken" + | "clearingHouse" + | "controller" + | "deposit" + | "depositInsurance" + | "getAccountValue" + | "getCurrentState" + | "getDebtValue" + | "getExchangeFee" + | "getExchangeFeeWad" + | "getFreeCollateral" + | "getMarkPriceTwap" + | "getPositionValue" + | "getUnrealizedPnl" + | "initialize" + | "insuranceDeposited" + | "insuranceToken" + | "market" + | "marketRegistry" + | "owner" + | "proxiableUUID" + | "quoteMinted" + | "quoteToken" + | "rebalance" + | "rebalanceLite" + | "redeem" + | "redeemableSoftCap" + | "redeemableUnderManagement" + | "renounceOwnership" + | "setController" + | "setRedeemableSoftCap" + | "setSpotSwapper" + | "spotSwapper" + | "totalFeesPaid" + | "transferOwnership" + | "upgradeTo" + | "upgradeToAndCall" + | "vault" + | "withdrawInsurance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "HUNDRED_PERCENT", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "VERSION", values?: undefined): string; + encodeFunctionData( + functionFragment: "assetDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "assetToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "clearingHouse", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "controller", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "depositInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getAccountValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getCurrentState", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getDebtValue", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getExchangeFee", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getExchangeFeeWad", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getFreeCollateral", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getMarkPriceTwap", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getPositionValue", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUnrealizedPnl", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "insuranceDeposited", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "insuranceToken", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "market", values?: undefined): string; + encodeFunctionData( + functionFragment: "marketRegistry", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "proxiableUUID", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quoteMinted", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "quoteToken", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "rebalance", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "rebalanceLite", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "redeemableSoftCap", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeemableUnderManagement", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setController", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setRedeemableSoftCap", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setSpotSwapper", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "spotSwapper", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalFeesPaid", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "vault", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawInsurance", + values: [PromiseOrValue, PromiseOrValue] + ): string; + + decodeFunctionResult( + functionFragment: "HUNDRED_PERCENT", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "VERSION", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "assetDeposited", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "assetToken", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "clearingHouse", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositInsurance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCurrentState", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getDebtValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchangeFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getExchangeFeeWad", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getFreeCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getMarkPriceTwap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPositionValue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUnrealizedPnl", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "insuranceDeposited", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "insuranceToken", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "marketRegistry", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proxiableUUID", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "quoteMinted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "quoteToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "rebalance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "rebalanceLite", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "redeemableUnderManagement", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setController", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setRedeemableSoftCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSpotSwapper", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "spotSwapper", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalFeesPaid", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawInsurance", + data: BytesLike + ): Result; + + events: { + "AdminChanged(address,address)": EventFragment; + "BeaconUpgraded(address)": EventFragment; + "Initialized(uint8)": EventFragment; + "InsuranceDeposited(address,address,uint256)": EventFragment; + "InsuranceWithdrawn(address,address,uint256)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "PositionOpened(bool,uint256,bool,uint160)": EventFragment; + "Rebalanced(uint256,uint256,int256)": EventFragment; + "RedeemableSoftCapUpdated(address,uint256)": EventFragment; + "Upgraded(address)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceDeposited"): EventFragment; + getEvent(nameOrSignatureOrTopic: "InsuranceWithdrawn"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "PositionOpened"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Rebalanced"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RedeemableSoftCapUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; +} + +export interface AdminChangedEventObject { + previousAdmin: string; + newAdmin: string; +} +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject +>; + +export type AdminChangedEventFilter = TypedEventFilter; + +export interface BeaconUpgradedEventObject { + beacon: string; +} +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject +>; + +export type BeaconUpgradedEventFilter = TypedEventFilter; + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface InsuranceDepositedEventObject { + caller: string; + from: string; + amount: BigNumber; +} +export type InsuranceDepositedEvent = TypedEvent< + [string, string, BigNumber], + InsuranceDepositedEventObject +>; + +export type InsuranceDepositedEventFilter = + TypedEventFilter; + +export interface InsuranceWithdrawnEventObject { + caller: string; + to: string; + amount: BigNumber; +} +export type InsuranceWithdrawnEvent = TypedEvent< + [string, string, BigNumber], + InsuranceWithdrawnEventObject +>; + +export type InsuranceWithdrawnEventFilter = + TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface PositionOpenedEventObject { + isShort: boolean; + amount: BigNumber; + amountIsInput: boolean; + sqrtPriceLimitX96: BigNumber; +} +export type PositionOpenedEvent = TypedEvent< + [boolean, BigNumber, boolean, BigNumber], + PositionOpenedEventObject +>; + +export type PositionOpenedEventFilter = TypedEventFilter; + +export interface RebalancedEventObject { + baseAmount: BigNumber; + quoteAmount: BigNumber; + shortfall: BigNumber; +} +export type RebalancedEvent = TypedEvent< + [BigNumber, BigNumber, BigNumber], + RebalancedEventObject +>; + +export type RebalancedEventFilter = TypedEventFilter; + +export interface RedeemableSoftCapUpdatedEventObject { + caller: string; + newSoftCap: BigNumber; +} +export type RedeemableSoftCapUpdatedEvent = TypedEvent< + [string, BigNumber], + RedeemableSoftCapUpdatedEventObject +>; + +export type RedeemableSoftCapUpdatedEventFilter = + TypedEventFilter; + +export interface UpgradedEventObject { + implementation: string; +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; + +export type UpgradedEventFilter = TypedEventFilter; + +export interface TestPerpDepositoryUpgrade extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: TestPerpDepositoryUpgradeInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise<[BigNumber]>; + + VERSION(overrides?: CallOverrides): Promise<[string]>; + + assetDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + assetToken(overrides?: CallOverrides): Promise<[string]>; + + clearingHouse(overrides?: CallOverrides): Promise<[string]>; + + controller(overrides?: CallOverrides): Promise<[string]>; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getCurrentState( + overrides?: CallOverrides + ): Promise<[DepositoryStateStructOutput]>; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getExchangeFee(overrides?: CallOverrides): Promise<[BigNumber]>; + + getExchangeFeeWad(overrides?: CallOverrides): Promise<[BigNumber]>; + + getFreeCollateral(overrides?: CallOverrides): Promise<[BigNumber]>; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getPositionValue(overrides?: CallOverrides): Promise<[BigNumber]>; + + getUnrealizedPnl(overrides?: CallOverrides): Promise<[BigNumber]>; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise<[BigNumber]>; + + insuranceToken(overrides?: CallOverrides): Promise<[string]>; + + market(overrides?: CallOverrides): Promise<[string]>; + + marketRegistry(overrides?: CallOverrides): Promise<[string]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + proxiableUUID(overrides?: CallOverrides): Promise<[string]>; + + quoteMinted(overrides?: CallOverrides): Promise<[BigNumber]>; + + quoteToken(overrides?: CallOverrides): Promise<[string]>; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise<[BigNumber]>; + + redeemableUnderManagement(overrides?: CallOverrides): Promise<[BigNumber]>; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise<[string]>; + + totalFeesPaid(overrides?: CallOverrides): Promise<[BigNumber]>; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise<[string]>; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState( + overrides?: CallOverrides + ): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState( + overrides?: CallOverrides + ): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber]>; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber, BigNumber]>; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "AdminChanged(address,address)"( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + AdminChanged( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + + "BeaconUpgraded(address)"( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + BeaconUpgraded( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "InsuranceDeposited(address,address,uint256)"( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + InsuranceDeposited( + caller?: PromiseOrValue | null, + from?: PromiseOrValue | null, + amount?: null + ): InsuranceDepositedEventFilter; + + "InsuranceWithdrawn(address,address,uint256)"( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + InsuranceWithdrawn( + caller?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null + ): InsuranceWithdrawnEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + + "PositionOpened(bool,uint256,bool,uint160)"( + isShort?: null, + amount?: null, + amountIsInput?: null, + sqrtPriceLimitX96?: null + ): PositionOpenedEventFilter; + PositionOpened( + isShort?: null, + amount?: null, + amountIsInput?: null, + sqrtPriceLimitX96?: null + ): PositionOpenedEventFilter; + + "Rebalanced(uint256,uint256,int256)"( + baseAmount?: null, + quoteAmount?: null, + shortfall?: null + ): RebalancedEventFilter; + Rebalanced( + baseAmount?: null, + quoteAmount?: null, + shortfall?: null + ): RebalancedEventFilter; + + "RedeemableSoftCapUpdated(address,uint256)"( + caller?: PromiseOrValue | null, + newSoftCap?: null + ): RedeemableSoftCapUpdatedEventFilter; + RedeemableSoftCapUpdated( + caller?: PromiseOrValue | null, + newSoftCap?: null + ): RedeemableSoftCapUpdatedEventFilter; + + "Upgraded(address)"( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + Upgraded( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + }; + + estimateGas: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState(overrides?: CallOverrides): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited(overrides?: CallOverrides): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + HUNDRED_PERCENT(overrides?: CallOverrides): Promise; + + VERSION(overrides?: CallOverrides): Promise; + + assetDeposited(overrides?: CallOverrides): Promise; + + assetToken(overrides?: CallOverrides): Promise; + + clearingHouse(overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + deposit( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositInsurance( + amount: PromiseOrValue, + from: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + getAccountValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getCurrentState(overrides?: CallOverrides): Promise; + + getDebtValue( + account: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getExchangeFee(overrides?: CallOverrides): Promise; + + getExchangeFeeWad(overrides?: CallOverrides): Promise; + + getFreeCollateral(overrides?: CallOverrides): Promise; + + getMarkPriceTwap( + twapInterval: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getPositionValue(overrides?: CallOverrides): Promise; + + getUnrealizedPnl(overrides?: CallOverrides): Promise; + + initialize( + _vault: PromiseOrValue, + _clearingHouse: PromiseOrValue, + _marketRegistry: PromiseOrValue, + _futuresMarket: PromiseOrValue, + _assetToken: PromiseOrValue, + _quoteToken: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + insuranceDeposited( + overrides?: CallOverrides + ): Promise; + + insuranceToken(overrides?: CallOverrides): Promise; + + market(overrides?: CallOverrides): Promise; + + marketRegistry(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + quoteMinted(overrides?: CallOverrides): Promise; + + quoteToken(overrides?: CallOverrides): Promise; + + rebalance( + amount: PromiseOrValue, + amountOutMinimum: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + swapPoolFee: PromiseOrValue, + polarity: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + rebalanceLite( + amount: PromiseOrValue, + polarity: PromiseOrValue, + sqrtPriceLimitX96: PromiseOrValue, + account: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeem( + asset: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemableSoftCap(overrides?: CallOverrides): Promise; + + redeemableUnderManagement( + overrides?: CallOverrides + ): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRedeemableSoftCap( + softCap: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setSpotSwapper( + _swapper: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + spotSwapper(overrides?: CallOverrides): Promise; + + totalFeesPaid(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + vault(overrides?: CallOverrides): Promise; + + withdrawInsurance( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/TestUXDControllerUpgrade.ts b/src/typechain-types/contracts/test/TestUXDControllerUpgrade.ts new file mode 100644 index 0000000..861baae --- /dev/null +++ b/src/typechain-types/contracts/test/TestUXDControllerUpgrade.ts @@ -0,0 +1,901 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../common"; + +export interface TestUXDControllerUpgradeInterface extends utils.Interface { + functions: { + "VERSION()": FunctionFragment; + "assetList(uint256)": FunctionFragment; + "initialize(address)": FunctionFragment; + "mint(address,uint256,uint256,address)": FunctionFragment; + "mintWithEth(uint256,address)": FunctionFragment; + "owner()": FunctionFragment; + "proxiableUUID()": FunctionFragment; + "redeem(address,uint256,uint256,address)": FunctionFragment; + "redeemForEth(uint256,uint256,address)": FunctionFragment; + "redeemable()": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "router()": FunctionFragment; + "setRedeemable(address)": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + "updateRouter(address)": FunctionFragment; + "upgradeTo(address)": FunctionFragment; + "upgradeToAndCall(address,bytes)": FunctionFragment; + "weth()": FunctionFragment; + "whitelistAsset(address,bool)": FunctionFragment; + "whitelistedAssets(address)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "VERSION" + | "assetList" + | "initialize" + | "mint" + | "mintWithEth" + | "owner" + | "proxiableUUID" + | "redeem" + | "redeemForEth" + | "redeemable" + | "renounceOwnership" + | "router" + | "setRedeemable" + | "transferOwnership" + | "updateRouter" + | "upgradeTo" + | "upgradeToAndCall" + | "weth" + | "whitelistAsset" + | "whitelistedAssets" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "VERSION", values?: undefined): string; + encodeFunctionData( + functionFragment: "assetList", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "mintWithEth", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "proxiableUUID", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "redeemForEth", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "redeemable", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "router", values?: undefined): string; + encodeFunctionData( + functionFragment: "setRedeemable", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "updateRouter", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "weth", values?: undefined): string; + encodeFunctionData( + functionFragment: "whitelistAsset", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "whitelistedAssets", + values: [PromiseOrValue] + ): string; + + decodeFunctionResult(functionFragment: "VERSION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "assetList", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "mintWithEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proxiableUUID", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemForEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeemable", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setRedeemable", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateRouter", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "weth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "whitelistAsset", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "whitelistedAssets", + data: BytesLike + ): Result; + + events: { + "AdminChanged(address,address)": EventFragment; + "BeaconUpgraded(address)": EventFragment; + "Initialized(uint8)": EventFragment; + "Minted(address,address,uint256)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; + "Redeemed(address,address,uint256)": EventFragment; + "RouterUpdated(address,address)": EventFragment; + "Upgraded(address)": EventFragment; + "WhitelistUpdated(address,address,bool)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Minted"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Redeemed"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RouterUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; + getEvent(nameOrSignatureOrTopic: "WhitelistUpdated"): EventFragment; +} + +export interface AdminChangedEventObject { + previousAdmin: string; + newAdmin: string; +} +export type AdminChangedEvent = TypedEvent< + [string, string], + AdminChangedEventObject +>; + +export type AdminChangedEventFilter = TypedEventFilter; + +export interface BeaconUpgradedEventObject { + beacon: string; +} +export type BeaconUpgradedEvent = TypedEvent< + [string], + BeaconUpgradedEventObject +>; + +export type BeaconUpgradedEventFilter = TypedEventFilter; + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface MintedEventObject { + caller: string; + receiver: string; + amount: BigNumber; +} +export type MintedEvent = TypedEvent< + [string, string, BigNumber], + MintedEventObject +>; + +export type MintedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + +export interface RedeemedEventObject { + caller: string; + receiver: string; + amount: BigNumber; +} +export type RedeemedEvent = TypedEvent< + [string, string, BigNumber], + RedeemedEventObject +>; + +export type RedeemedEventFilter = TypedEventFilter; + +export interface RouterUpdatedEventObject { + by: string; + newRouter: string; +} +export type RouterUpdatedEvent = TypedEvent< + [string, string], + RouterUpdatedEventObject +>; + +export type RouterUpdatedEventFilter = TypedEventFilter; + +export interface UpgradedEventObject { + implementation: string; +} +export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; + +export type UpgradedEventFilter = TypedEventFilter; + +export interface WhitelistUpdatedEventObject { + by: string; + token: string; + isWhitelisted: boolean; +} +export type WhitelistUpdatedEvent = TypedEvent< + [string, string, boolean], + WhitelistUpdatedEventObject +>; + +export type WhitelistUpdatedEventFilter = + TypedEventFilter; + +export interface TestUXDControllerUpgrade extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: TestUXDControllerUpgradeInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + VERSION(overrides?: CallOverrides): Promise<[string]>; + + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + initialize( + _weth: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mintWithEth( + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise<[string]>; + + proxiableUUID(overrides?: CallOverrides): Promise<[string]>; + + redeem( + assetToken: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemForEth( + redeemAmount: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise<[string]>; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + router(overrides?: CallOverrides): Promise<[string]>; + + setRedeemable( + _redeemable: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateRouter( + _router: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + weth(overrides?: CallOverrides): Promise<[string]>; + + whitelistAsset( + tokenAddress: PromiseOrValue, + isWhitelisted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + }; + + VERSION(overrides?: CallOverrides): Promise; + + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + initialize( + _weth: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mintWithEth( + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + redeem( + assetToken: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemForEth( + redeemAmount: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + router(overrides?: CallOverrides): Promise; + + setRedeemable( + _redeemable: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateRouter( + _router: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistAsset( + tokenAddress: PromiseOrValue, + isWhitelisted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + callStatic: { + VERSION(overrides?: CallOverrides): Promise; + + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + initialize( + _weth: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mint( + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + mintWithEth( + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + redeem( + assetToken: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemForEth( + redeemAmount: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + router(overrides?: CallOverrides): Promise; + + setRedeemable( + _redeemable: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateRouter( + _router: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistAsset( + tokenAddress: PromiseOrValue, + isWhitelisted: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "AdminChanged(address,address)"( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + AdminChanged( + previousAdmin?: null, + newAdmin?: null + ): AdminChangedEventFilter; + + "BeaconUpgraded(address)"( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + BeaconUpgraded( + beacon?: PromiseOrValue | null + ): BeaconUpgradedEventFilter; + + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "Minted(address,address,uint256)"( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null + ): MintedEventFilter; + Minted( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null + ): MintedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + + "Redeemed(address,address,uint256)"( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null + ): RedeemedEventFilter; + Redeemed( + caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null + ): RedeemedEventFilter; + + "RouterUpdated(address,address)"( + by?: PromiseOrValue | null, + newRouter?: PromiseOrValue | null + ): RouterUpdatedEventFilter; + RouterUpdated( + by?: PromiseOrValue | null, + newRouter?: PromiseOrValue | null + ): RouterUpdatedEventFilter; + + "Upgraded(address)"( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + Upgraded( + implementation?: PromiseOrValue | null + ): UpgradedEventFilter; + + "WhitelistUpdated(address,address,bool)"( + by?: PromiseOrValue | null, + token?: PromiseOrValue | null, + isWhitelisted?: null + ): WhitelistUpdatedEventFilter; + WhitelistUpdated( + by?: PromiseOrValue | null, + token?: PromiseOrValue | null, + isWhitelisted?: null + ): WhitelistUpdatedEventFilter; + }; + + estimateGas: { + VERSION(overrides?: CallOverrides): Promise; + + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + initialize( + _weth: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mintWithEth( + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + redeem( + assetToken: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemForEth( + redeemAmount: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + router(overrides?: CallOverrides): Promise; + + setRedeemable( + _redeemable: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateRouter( + _router: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistAsset( + tokenAddress: PromiseOrValue, + isWhitelisted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + populateTransaction: { + VERSION(overrides?: CallOverrides): Promise; + + assetList( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + initialize( + _weth: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mint( + assetToken: PromiseOrValue, + assetAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + mintWithEth( + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + proxiableUUID(overrides?: CallOverrides): Promise; + + redeem( + assetToken: PromiseOrValue, + redeemAmount: PromiseOrValue, + minAmountOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemForEth( + redeemAmount: PromiseOrValue, + minAmonuntOut: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + redeemable(overrides?: CallOverrides): Promise; + + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + router(overrides?: CallOverrides): Promise; + + setRedeemable( + _redeemable: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateRouter( + _router: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeTo( + newImplementation: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + upgradeToAndCall( + newImplementation: PromiseOrValue, + data: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + weth(overrides?: CallOverrides): Promise; + + whitelistAsset( + tokenAddress: PromiseOrValue, + isWhitelisted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + whitelistedAssets( + arg0: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; +} diff --git a/src/typechain-types/contracts/test/index.ts b/src/typechain-types/contracts/test/index.ts new file mode 100644 index 0000000..2ae5d23 --- /dev/null +++ b/src/typechain-types/contracts/test/index.ts @@ -0,0 +1,13 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { MockController } from "./MockController"; +export type { MockPerpAccountBalance } from "./MockPerpAccountBalance"; +export type { MockPerpClearingHouse } from "./MockPerpClearingHouse"; +export type { MockPerpMarketRegistry } from "./MockPerpMarketRegistry"; +export type { MockPerpVault } from "./MockPerpVault"; +export type { TestDepository } from "./TestDepository"; +export type { TestERC20 } from "./TestERC20"; +export type { TestPerpDepository } from "./TestPerpDepository"; +export type { TestPerpDepositoryUpgrade } from "./TestPerpDepositoryUpgrade"; +export type { TestUXDControllerUpgrade } from "./TestUXDControllerUpgrade"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts new file mode 100644 index 0000000..a16eddf --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts @@ -0,0 +1,91 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + OwnableUpgradeable, + OwnableUpgradeableInterface, +} from "../../../../@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable"; + +const _abi = [ + { + 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", + }, + { + 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: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class OwnableUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): OwnableUpgradeableInterface { + return new utils.Interface(_abi) as OwnableUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): OwnableUpgradeable { + return new Contract(address, _abi, signerOrProvider) as OwnableUpgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts new file mode 100644 index 0000000..bf4b29c --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { OwnableUpgradeable__factory } from "./OwnableUpgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts new file mode 100644 index 0000000..aa3a606 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as access from "./access"; +export * as interfaces from "./interfaces"; +export * as proxy from "./proxy"; +export * as security from "./security"; +export * as token from "./token"; +export * as utils from "./utils"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts new file mode 100644 index 0000000..7d7b322 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts @@ -0,0 +1,43 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC1822ProxiableUpgradeable, + IERC1822ProxiableUpgradeableInterface, +} from "../../../../../@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable"; + +const _abi = [ + { + inputs: [], + name: "proxiableUUID", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IERC1822ProxiableUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): IERC1822ProxiableUpgradeableInterface { + return new utils.Interface(_abi) as IERC1822ProxiableUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC1822ProxiableUpgradeable { + return new Contract( + address, + _abi, + signerOrProvider + ) as IERC1822ProxiableUpgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts new file mode 100644 index 0000000..7db58c5 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC1822ProxiableUpgradeable__factory } from "./IERC1822ProxiableUpgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts new file mode 100644 index 0000000..090c70d --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as draftIerc1822UpgradeableSol from "./draft-IERC1822Upgradeable.sol"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts new file mode 100644 index 0000000..ed671ca --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts @@ -0,0 +1,88 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ERC1967UpgradeUpgradeable, + ERC1967UpgradeUpgradeableInterface, +} from "../../../../../@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable"; + +const _abi = [ + { + 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: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, +]; + +export class ERC1967UpgradeUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): ERC1967UpgradeUpgradeableInterface { + return new utils.Interface(_abi) as ERC1967UpgradeUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ERC1967UpgradeUpgradeable { + return new Contract( + address, + _abi, + signerOrProvider + ) as ERC1967UpgradeUpgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts new file mode 100644 index 0000000..12fe874 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC1967UpgradeUpgradeable__factory } from "./ERC1967UpgradeUpgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts new file mode 100644 index 0000000..e784b0d --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts @@ -0,0 +1,39 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IBeaconUpgradeable, + IBeaconUpgradeableInterface, +} from "../../../../../@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable"; + +const _abi = [ + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IBeaconUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): IBeaconUpgradeableInterface { + return new utils.Interface(_abi) as IBeaconUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IBeaconUpgradeable { + return new Contract(address, _abi, signerOrProvider) as IBeaconUpgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts new file mode 100644 index 0000000..5b72d31 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IBeaconUpgradeable__factory } from "./IBeaconUpgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts new file mode 100644 index 0000000..4ac4c84 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc1967 from "./ERC1967"; +export * as beacon from "./beacon"; +export * as utils from "./utils"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts new file mode 100644 index 0000000..ad6a302 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts @@ -0,0 +1,39 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + Initializable, + InitializableInterface, +} from "../../../../../@openzeppelin/contracts-upgradeable/proxy/utils/Initializable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, +]; + +export class Initializable__factory { + static readonly abi = _abi; + static createInterface(): InitializableInterface { + return new utils.Interface(_abi) as InitializableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Initializable { + return new Contract(address, _abi, signerOrProvider) as Initializable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts new file mode 100644 index 0000000..b21bc83 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts @@ -0,0 +1,128 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + UUPSUpgradeable, + UUPSUpgradeableInterface, +} from "../../../../../@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable"; + +const _abi = [ + { + 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: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + inputs: [], + name: "proxiableUUID", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + 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", + }, +]; + +export class UUPSUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): UUPSUpgradeableInterface { + return new utils.Interface(_abi) as UUPSUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UUPSUpgradeable { + return new Contract(address, _abi, signerOrProvider) as UUPSUpgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts new file mode 100644 index 0000000..a192d15 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Initializable__factory } from "./Initializable__factory"; +export { UUPSUpgradeable__factory } from "./UUPSUpgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts new file mode 100644 index 0000000..8c6ca10 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts @@ -0,0 +1,43 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ReentrancyGuardUpgradeable, + ReentrancyGuardUpgradeableInterface, +} from "../../../../@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, +]; + +export class ReentrancyGuardUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): ReentrancyGuardUpgradeableInterface { + return new utils.Interface(_abi) as ReentrancyGuardUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ReentrancyGuardUpgradeable { + return new Contract( + address, + _abi, + signerOrProvider + ) as ReentrancyGuardUpgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts new file mode 100644 index 0000000..ba3999c --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ReentrancyGuardUpgradeable__factory } from "./ReentrancyGuardUpgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts new file mode 100644 index 0000000..d334da0 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory.ts @@ -0,0 +1,209 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC20Upgradeable, + IERC20UpgradeableInterface, +} from "../../../../../@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable"; + +const _abi = [ + { + 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: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + 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: "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", + }, +]; + +export class IERC20Upgradeable__factory { + static readonly abi = _abi; + static createInterface(): IERC20UpgradeableInterface { + return new utils.Interface(_abi) as IERC20UpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC20Upgradeable { + return new Contract(address, _abi, signerOrProvider) as IERC20Upgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts new file mode 100644 index 0000000..d3ccc8b --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Upgradeable__factory } from "./IERC20Upgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts new file mode 100644 index 0000000..da1e061 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc20 from "./ERC20"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts new file mode 100644 index 0000000..56882fa --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts @@ -0,0 +1,39 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ContextUpgradeable, + ContextUpgradeableInterface, +} from "../../../../@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, +]; + +export class ContextUpgradeable__factory { + static readonly abi = _abi; + static createInterface(): ContextUpgradeableInterface { + return new utils.Interface(_abi) as ContextUpgradeableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ContextUpgradeable { + return new Contract(address, _abi, signerOrProvider) as ContextUpgradeable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts new file mode 100644 index 0000000..3ff42ae --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ContextUpgradeable__factory } from "./ContextUpgradeable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts new file mode 100644 index 0000000..6f9d7e6 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/access/AccessControl__factory.ts @@ -0,0 +1,230 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + AccessControl, + AccessControlInterface, +} from "../../../../@openzeppelin/contracts/access/AccessControl"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + inputs: [], + name: "DEFAULT_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class AccessControl__factory { + static readonly abi = _abi; + static createInterface(): AccessControlInterface { + return new utils.Interface(_abi) as AccessControlInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): AccessControl { + return new Contract(address, _abi, signerOrProvider) as AccessControl; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts new file mode 100644 index 0000000..e54fa6a --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/access/IAccessControl__factory.ts @@ -0,0 +1,198 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IAccessControl, + IAccessControlInterface, +} from "../../../../@openzeppelin/contracts/access/IAccessControl"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IAccessControl__factory { + static readonly abi = _abi; + static createInterface(): IAccessControlInterface { + return new utils.Interface(_abi) as IAccessControlInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IAccessControl { + return new Contract(address, _abi, signerOrProvider) as IAccessControl; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts new file mode 100644 index 0000000..32f8cfe --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts @@ -0,0 +1,78 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + Ownable, + OwnableInterface, +} from "../../../../@openzeppelin/contracts/access/Ownable"; + +const _abi = [ + { + 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: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class Ownable__factory { + static readonly abi = _abi; + static createInterface(): OwnableInterface { + return new utils.Interface(_abi) as OwnableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Ownable { + return new Contract(address, _abi, signerOrProvider) as Ownable; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/access/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/access/index.ts new file mode 100644 index 0000000..51ea362 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/access/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { AccessControl__factory } from "./AccessControl__factory"; +export { IAccessControl__factory } from "./IAccessControl__factory"; +export { Ownable__factory } from "./Ownable__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/Governor__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/Governor__factory.ts new file mode 100644 index 0000000..567f44a --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/Governor__factory.ts @@ -0,0 +1,890 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + Governor, + GovernorInterface, +} from "../../../../@openzeppelin/contracts/governance/Governor"; + +const _abi = [ + { + inputs: [], + name: "Empty", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + inputs: [], + name: "BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "EXTENDED_BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "relay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +export class Governor__factory { + static readonly abi = _abi; + static createInterface(): GovernorInterface { + return new utils.Interface(_abi) as GovernorInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Governor { + return new Contract(address, _abi, signerOrProvider) as Governor; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/IGovernor__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/IGovernor__factory.ts new file mode 100644 index 0000000..e44d97d --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/IGovernor__factory.ts @@ -0,0 +1,707 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IGovernor, + IGovernorInterface, +} from "../../../../@openzeppelin/contracts/governance/IGovernor"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IGovernor__factory { + static readonly abi = _abi; + static createInterface(): IGovernorInterface { + return new utils.Interface(_abi) as IGovernorInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IGovernor { + return new Contract(address, _abi, signerOrProvider) as IGovernor; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/TimelockController__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/TimelockController__factory.ts new file mode 100644 index 0000000..69b30da --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/TimelockController__factory.ts @@ -0,0 +1,951 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Signer, + utils, + Contract, + ContractFactory, + BigNumberish, + Overrides, +} from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../common"; +import type { + TimelockController, + TimelockControllerInterface, +} from "../../../../@openzeppelin/contracts/governance/TimelockController"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "minDelay", + type: "uint256", + }, + { + internalType: "address[]", + name: "proposers", + type: "address[]", + }, + { + internalType: "address[]", + name: "executors", + type: "address[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "uint256", + name: "index", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "CallExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "uint256", + name: "index", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + indexed: false, + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "delay", + type: "uint256", + }, + ], + name: "CallScheduled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "Cancelled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldDuration", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newDuration", + type: "uint256", + }, + ], + name: "MinDelayChange", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + inputs: [], + name: "CANCELLER_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DEFAULT_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTOR_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSER_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "TIMELOCK_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "cancel", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "payloads", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "executeBatch", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getMinDelay", + outputs: [ + { + internalType: "uint256", + name: "duration", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "getTimestamp", + outputs: [ + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "hashOperation", + outputs: [ + { + internalType: "bytes32", + name: "hash", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "payloads", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "hashOperationBatch", + outputs: [ + { + internalType: "bytes32", + name: "hash", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperation", + outputs: [ + { + internalType: "bool", + name: "pending", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperationDone", + outputs: [ + { + internalType: "bool", + name: "done", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperationPending", + outputs: [ + { + internalType: "bool", + name: "pending", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperationReady", + outputs: [ + { + internalType: "bool", + name: "ready", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256", + name: "delay", + type: "uint256", + }, + ], + name: "schedule", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "payloads", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256", + name: "delay", + type: "uint256", + }, + ], + name: "scheduleBatch", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newDelay", + type: "uint256", + }, + ], + name: "updateDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b50604051620026a8380380620026a88339810160408190526200003491620003f7565b6200004f60008051602062002628833981519152806200021c565b6200007960008051602062002648833981519152600080516020620026288339815191526200021c565b620000a360008051602062002668833981519152600080516020620026288339815191526200021c565b620000cd60008051602062002688833981519152600080516020620026288339815191526200021c565b620000e8600080516020620026288339815191523362000267565b62000103600080516020620026288339815191523062000267565b60005b825181101562000189576200014d600080516020620026488339815191528483815181106200013957620001396200046b565b60200260200101516200026760201b60201c565b62000176600080516020620026888339815191528483815181106200013957620001396200046b565b620001818162000481565b905062000106565b5060005b8151811015620001d357620001c0600080516020620026688339815191528383815181106200013957620001396200046b565b620001cb8162000481565b90506200018d565b5060028390556040805160008152602081018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1505050620004a9565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62000273828262000277565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000273576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002d33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200034557600080fd5b919050565b600082601f8301126200035c57600080fd5b815160206001600160401b03808311156200037b576200037b62000317565b8260051b604051601f19603f83011681018181108482111715620003a357620003a362000317565b604052938452858101830193838101925087851115620003c257600080fd5b83870191505b84821015620003ec57620003dc826200032d565b83529183019190830190620003c8565b979650505050505050565b6000806000606084860312156200040d57600080fd5b835160208501519093506001600160401b03808211156200042d57600080fd5b6200043b878388016200034a565b935060408601519150808211156200045257600080fd5b5062000461868287016200034a565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201620004a257634e487b7160e01b600052601160045260246000fd5b5060010190565b61216f80620004b96000396000f3fe6080604052600436106101bb5760003560e01c80638065657f116100ec578063bc197c811161008a578063d547741f11610064578063d547741f146105f0578063e38335e514610610578063f23a6e6114610623578063f27a0c921461066857600080fd5b8063bc197c811461055e578063c4d252f5146105a3578063d45c4435146105c357600080fd5b806391d14854116100c657806391d14854146104b1578063a217fddf146104f5578063b08e51c01461050a578063b1c5f4271461053e57600080fd5b80638065657f1461043d5780638f2a0bb01461045d5780638f61f4f51461047d57600080fd5b8063248a9ca31161015957806331d507501161013357806331d50750146103bd57806336568abe146103dd578063584b153e146103fd57806364d623531461041d57600080fd5b8063248a9ca31461033c5780632ab0f5291461036c5780632f2ff15d1461039d57600080fd5b80630d3cf6fc116101955780630d3cf6fc14610260578063134008d31461029457806313bc9f20146102a7578063150b7a02146102c757600080fd5b806301d5062a146101c757806301ffc9a7146101e957806307bd02651461021e57600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b506101e76101e23660046117ca565b61067d565b005b3480156101f557600080fd5b5061020961020436600461183f565b610712565b60405190151581526020015b60405180910390f35b34801561022a57600080fd5b506102527fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610215565b34801561026c57600080fd5b506102527f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101e76102a2366004611881565b61076e565b3480156102b357600080fd5b506102096102c23660046118ed565b610829565b3480156102d357600080fd5b5061030b6102e23660046119bd565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610215565b34801561034857600080fd5b506102526103573660046118ed565b60009081526020819052604090206001015490565b34801561037857600080fd5b506102096103873660046118ed565b6000908152600160208190526040909120541490565b3480156103a957600080fd5b506101e76103b8366004611a25565b61084f565b3480156103c957600080fd5b506102096103d83660046118ed565b610879565b3480156103e957600080fd5b506101e76103f8366004611a25565b610892565b34801561040957600080fd5b506102096104183660046118ed565b610923565b34801561042957600080fd5b506101e76104383660046118ed565b610939565b34801561044957600080fd5b50610252610458366004611881565b6109ef565b34801561046957600080fd5b506101e7610478366004611a96565b610a2e565b34801561048957600080fd5b506102527fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b3480156104bd57600080fd5b506102096104cc366004611a25565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561050157600080fd5b50610252600081565b34801561051657600080fd5b506102527ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b34801561054a57600080fd5b50610252610559366004611b48565b610bf8565b34801561056a57600080fd5b5061030b610579366004611c71565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b3480156105af57600080fd5b506101e76105be3660046118ed565b610c3d565b3480156105cf57600080fd5b506102526105de3660046118ed565b60009081526001602052604090205490565b3480156105fc57600080fd5b506101e761060b366004611a25565b610d1e565b6101e761061e366004611b48565b610d43565b34801561062f57600080fd5b5061030b61063e366004611d1b565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b34801561067457600080fd5b50600254610252565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16106a781610f33565b60006106b78989898989896109ef565b90506106c38184610f40565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a6040516106ff96959493929190611dab565b60405180910390a3505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e0000000000000000000000000000000000000000000000000000000001480610768575061076882611054565b92915050565b600080527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea157951547fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e639060ff166107eb576107eb81336110eb565b60006107fb8888888888886109ef565b90506108078185611169565b6108168160008a8a8a8a611272565b61081f81611390565b5050505050505050565b6000818152600160205260408120546001811180156108485750428111155b9392505050565b60008281526020819052604090206001015461086a81610f33565b610874838361141f565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146109155760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b61091f82826114bd565b5050565b600081815260016020819052604082205461088b565b3330146109ae5760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201527f62652074696d656c6f636b000000000000000000000000000000000000000000606482015260840161090c565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b6000868686868686604051602001610a0c96959493929190611dab565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610a5881610f33565b888714610ab35760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161090c565b888514610b0e5760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161090c565b6000610b208b8b8b8b8b8b8b8b610bf8565b9050610b2c8184610f40565b60005b8a811015610bea5780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610b6c57610b6c611de9565b9050602002016020810190610b819190611dff565b8d8d86818110610b9357610b93611de9565b905060200201358c8c87818110610bac57610bac611de9565b9050602002810190610bbe9190611e1a565b8c8b604051610bd296959493929190611dab565b60405180910390a3610be381611e77565b9050610b2f565b505050505050505050505050565b60008888888888888888604051602001610c19989796959493929190611f23565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610c6781610f33565b610c7082610923565b610ce25760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20636160448201527f6e6e6f742062652063616e63656c6c6564000000000000000000000000000000606482015260840161090c565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b600082815260208190526040902060010154610d3981610f33565b61087483836114bd565b600080527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea157951547fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e639060ff16610dc057610dc081336110eb565b878614610e1b5760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161090c565b878414610e765760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161090c565b6000610e888a8a8a8a8a8a8a8a610bf8565b9050610e948185611169565b60005b89811015610f1d57610f0d82828d8d85818110610eb657610eb6611de9565b9050602002016020810190610ecb9190611dff565b8c8c86818110610edd57610edd611de9565b905060200201358b8b87818110610ef657610ef6611de9565b9050602002810190610f089190611e1a565b611272565b610f1681611e77565b9050610e97565b50610f2781611390565b50505050505050505050565b610f3d81336110eb565b50565b610f4982610879565b15610fbc5760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201527f7265616479207363686564756c65640000000000000000000000000000000000606482015260840161090c565b6002548110156110345760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e7460448201527f2064656c61790000000000000000000000000000000000000000000000000000606482015260840161090c565b61103e8142611fdd565b6000928352600160205260409092209190915550565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061076857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610768565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1661091f57611127816001600160a01b0316601461153c565b61113283602061153c565b604051602001611143929190612014565b60408051601f198184030181529082905262461bcd60e51b825261090c91600401612095565b61117282610829565b6111e45760405162461bcd60e51b815260206004820152602a60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20697360448201527f206e6f7420726561647900000000000000000000000000000000000000000000606482015260840161090c565b8015806112005750600081815260016020819052604090912054145b61091f5760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e67206465706560448201527f6e64656e63790000000000000000000000000000000000000000000000000000606482015260840161090c565b6000846001600160a01b031684848460405161128f9291906120c8565b60006040518083038185875af1925050503d80600081146112cc576040519150601f19603f3d011682016040523d82523d6000602084013e6112d1565b606091505b50509050806113485760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e67207460448201527f72616e73616374696f6e20726576657274656400000000000000000000000000606482015260840161090c565b85877fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588787878760405161137f94939291906120d8565b60405180910390a350505050505050565b61139981610829565b61140b5760405162461bcd60e51b815260206004820152602a60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20697360448201527f206e6f7420726561647900000000000000000000000000000000000000000000606482015260840161090c565b600090815260016020819052604090912055565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1661091f576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114793390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff161561091f576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060600061154b83600261210b565b611556906002611fdd565b67ffffffffffffffff81111561156e5761156e611906565b6040519080825280601f01601f191660200182016040528015611598576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106115cf576115cf611de9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061163257611632611de9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061166e84600261210b565b611679906001611fdd565b90505b6001811115611716577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106116ba576116ba611de9565b1a60f81b8282815181106116d0576116d0611de9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361170f81612122565b905061167c565b5083156108485760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161090c565b80356001600160a01b038116811461177c57600080fd5b919050565b60008083601f84011261179357600080fd5b50813567ffffffffffffffff8111156117ab57600080fd5b6020830191508360208285010111156117c357600080fd5b9250929050565b600080600080600080600060c0888a0312156117e557600080fd5b6117ee88611765565b965060208801359550604088013567ffffffffffffffff81111561181157600080fd5b61181d8a828b01611781565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561185157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461084857600080fd5b60008060008060008060a0878903121561189a57600080fd5b6118a387611765565b955060208701359450604087013567ffffffffffffffff8111156118c657600080fd5b6118d289828a01611781565b979a9699509760608101359660809091013595509350505050565b6000602082840312156118ff57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561194557611945611906565b604052919050565b600082601f83011261195e57600080fd5b813567ffffffffffffffff81111561197857611978611906565b61198b6020601f19601f8401160161191c565b8181528460208386010111156119a057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156119d357600080fd5b6119dc85611765565b93506119ea60208601611765565b925060408501359150606085013567ffffffffffffffff811115611a0d57600080fd5b611a198782880161194d565b91505092959194509250565b60008060408385031215611a3857600080fd5b82359150611a4860208401611765565b90509250929050565b60008083601f840112611a6357600080fd5b50813567ffffffffffffffff811115611a7b57600080fd5b6020830191508360208260051b85010111156117c357600080fd5b600080600080600080600080600060c08a8c031215611ab457600080fd5b893567ffffffffffffffff80821115611acc57600080fd5b611ad88d838e01611a51565b909b50995060208c0135915080821115611af157600080fd5b611afd8d838e01611a51565b909950975060408c0135915080821115611b1657600080fd5b50611b238c828d01611a51565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b60008060008060008060008060a0898b031215611b6457600080fd5b883567ffffffffffffffff80821115611b7c57600080fd5b611b888c838d01611a51565b909a50985060208b0135915080821115611ba157600080fd5b611bad8c838d01611a51565b909850965060408b0135915080821115611bc657600080fd5b50611bd38b828c01611a51565b999c989b509699959896976060870135966080013595509350505050565b600082601f830112611c0257600080fd5b8135602067ffffffffffffffff821115611c1e57611c1e611906565b8160051b611c2d82820161191c565b9283528481018201928281019087851115611c4757600080fd5b83870192505b84831015611c6657823582529183019190830190611c4d565b979650505050505050565b600080600080600060a08688031215611c8957600080fd5b611c9286611765565b9450611ca060208701611765565b9350604086013567ffffffffffffffff80821115611cbd57600080fd5b611cc989838a01611bf1565b94506060880135915080821115611cdf57600080fd5b611ceb89838a01611bf1565b93506080880135915080821115611d0157600080fd5b50611d0e8882890161194d565b9150509295509295909350565b600080600080600060a08688031215611d3357600080fd5b611d3c86611765565b9450611d4a60208701611765565b93506040860135925060608601359150608086013567ffffffffffffffff811115611d7457600080fd5b611d0e8882890161194d565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6001600160a01b038716815285602082015260a060408201526000611dd460a083018688611d80565b60608301949094525060800152949350505050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611e1157600080fd5b61084882611765565b6000808335601e19843603018112611e3157600080fd5b83018035915067ffffffffffffffff821115611e4c57600080fd5b6020019150368190038213156117c357600080fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203611e8a57611e8a611e61565b5060010190565b81835260006020808501808196508560051b810191508460005b87811015611f165782840389528135601e19883603018112611ecc57600080fd5b8701858101903567ffffffffffffffff811115611ee857600080fd5b803603821315611ef757600080fd5b611f02868284611d80565b9a87019a9550505090840190600101611eab565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b811015611f64576001600160a01b03611f4f84611765565b16825260209283019290910190600101611f36565b5083810360208501528881527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff891115611f9d57600080fd5b8860051b9150818a60208301370182810360209081016040850152611fc59082018789611e91565b60608401959095525050608001529695505050505050565b8082018082111561076857610768611e61565b60005b8381101561200b578181015183820152602001611ff3565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161204c816017850160208801611ff0565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612089816028840160208801611ff0565b01602801949350505050565b60208152600082518060208401526120b4816040850160208701611ff0565b601f01601f19169190910160400192915050565b8183823760009101908152919050565b6001600160a01b0385168152836020820152606060408201526000612101606083018486611d80565b9695505050505050565b808202811582820484141761076857610768611e61565b60008161213157612131611e61565b50600019019056fea2646970667358221220992af7b1dc410903148fa933363d109b7fe599a006899fd9e9ec9f214aaf3a8a64736f6c634300081100335f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783"; + +type TimelockControllerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TimelockControllerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TimelockController__factory extends ContractFactory { + constructor(...args: TimelockControllerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + minDelay: PromiseOrValue, + proposers: PromiseOrValue[], + executors: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy( + minDelay, + proposers, + executors, + overrides || {} + ) as Promise; + } + override getDeployTransaction( + minDelay: PromiseOrValue, + proposers: PromiseOrValue[], + executors: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction( + minDelay, + proposers, + executors, + overrides || {} + ); + } + override attach(address: string): TimelockController { + return super.attach(address) as TimelockController; + } + override connect(signer: Signer): TimelockController__factory { + return super.connect(signer) as TimelockController__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TimelockControllerInterface { + return new utils.Interface(_abi) as TimelockControllerInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TimelockController { + return new Contract(address, _abi, signerOrProvider) as TimelockController; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple__factory.ts new file mode 100644 index 0000000..eb9d948 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple__factory.ts @@ -0,0 +1,923 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + GovernorCountingSimple, + GovernorCountingSimpleInterface, +} from "../../../../../@openzeppelin/contracts/governance/extensions/GovernorCountingSimple"; + +const _abi = [ + { + inputs: [], + name: "Empty", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + inputs: [], + name: "BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "EXTENDED_BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalVotes", + outputs: [ + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "abstainVotes", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "relay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +export class GovernorCountingSimple__factory { + static readonly abi = _abi; + static createInterface(): GovernorCountingSimpleInterface { + return new utils.Interface(_abi) as GovernorCountingSimpleInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GovernorCountingSimple { + return new Contract( + address, + _abi, + signerOrProvider + ) as GovernorCountingSimple; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorSettings__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorSettings__factory.ts new file mode 100644 index 0000000..a6a1265 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorSettings__factory.ts @@ -0,0 +1,986 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + GovernorSettings, + GovernorSettingsInterface, +} from "../../../../../@openzeppelin/contracts/governance/extensions/GovernorSettings"; + +const _abi = [ + { + inputs: [], + name: "Empty", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldProposalThreshold", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newProposalThreshold", + type: "uint256", + }, + ], + name: "ProposalThresholdSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldVotingDelay", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newVotingDelay", + type: "uint256", + }, + ], + name: "VotingDelaySet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldVotingPeriod", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newVotingPeriod", + type: "uint256", + }, + ], + name: "VotingPeriodSet", + type: "event", + }, + { + inputs: [], + name: "BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "EXTENDED_BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "relay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newProposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newVotingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newVotingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +export class GovernorSettings__factory { + static readonly abi = _abi; + static createInterface(): GovernorSettingsInterface { + return new utils.Interface(_abi) as GovernorSettingsInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GovernorSettings { + return new Contract(address, _abi, signerOrProvider) as GovernorSettings; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl__factory.ts new file mode 100644 index 0000000..42b5845 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl__factory.ts @@ -0,0 +1,1011 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + GovernorTimelockControl, + GovernorTimelockControlInterface, +} from "../../../../../@openzeppelin/contracts/governance/extensions/GovernorTimelockControl"; + +const _abi = [ + { + inputs: [], + name: "Empty", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "eta", + type: "uint256", + }, + ], + name: "ProposalQueued", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "oldTimelock", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newTimelock", + type: "address", + }, + ], + name: "TimelockChange", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + inputs: [], + name: "BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "EXTENDED_BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalEta", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "queue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "relay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract TimelockController", + name: "newTimelock", + type: "address", + }, + ], + name: "updateTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +export class GovernorTimelockControl__factory { + static readonly abi = _abi; + static createInterface(): GovernorTimelockControlInterface { + return new utils.Interface(_abi) as GovernorTimelockControlInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GovernorTimelockControl { + return new Contract( + address, + _abi, + signerOrProvider + ) as GovernorTimelockControl; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction__factory.ts new file mode 100644 index 0000000..e238737 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction__factory.ts @@ -0,0 +1,965 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + GovernorVotesQuorumFraction, + GovernorVotesQuorumFractionInterface, +} from "../../../../../@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction"; + +const _abi = [ + { + inputs: [], + name: "Empty", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldQuorumNumerator", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newQuorumNumerator", + type: "uint256", + }, + ], + name: "QuorumNumeratorUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + inputs: [], + name: "BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "EXTENDED_BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quorumDenominator", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quorumNumerator", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "relay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IVotes", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newQuorumNumerator", + type: "uint256", + }, + ], + name: "updateQuorumNumerator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +export class GovernorVotesQuorumFraction__factory { + static readonly abi = _abi; + static createInterface(): GovernorVotesQuorumFractionInterface { + return new utils.Interface(_abi) as GovernorVotesQuorumFractionInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GovernorVotesQuorumFraction { + return new Contract( + address, + _abi, + signerOrProvider + ) as GovernorVotesQuorumFraction; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotes__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotes__factory.ts new file mode 100644 index 0000000..01a66cf --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/GovernorVotes__factory.ts @@ -0,0 +1,903 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + GovernorVotes, + GovernorVotesInterface, +} from "../../../../../@openzeppelin/contracts/governance/extensions/GovernorVotes"; + +const _abi = [ + { + inputs: [], + name: "Empty", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + inputs: [], + name: "BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "EXTENDED_BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "relay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IVotes", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +export class GovernorVotes__factory { + static readonly abi = _abi; + static createInterface(): GovernorVotesInterface { + return new utils.Interface(_abi) as GovernorVotesInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GovernorVotes { + return new Contract(address, _abi, signerOrProvider) as GovernorVotes; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/IGovernorTimelock__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/IGovernorTimelock__factory.ts new file mode 100644 index 0000000..f8c7239 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/IGovernorTimelock__factory.ts @@ -0,0 +1,792 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IGovernorTimelock, + IGovernorTimelockInterface, +} from "../../../../../@openzeppelin/contracts/governance/extensions/IGovernorTimelock"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "eta", + type: "uint256", + }, + ], + name: "ProposalQueued", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalEta", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "queue", + outputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IGovernorTimelock__factory { + static readonly abi = _abi; + static createInterface(): IGovernorTimelockInterface { + return new utils.Interface(_abi) as IGovernorTimelockInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IGovernorTimelock { + return new Contract(address, _abi, signerOrProvider) as IGovernorTimelock; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/index.ts new file mode 100644 index 0000000..1232ce3 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/extensions/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { GovernorCountingSimple__factory } from "./GovernorCountingSimple__factory"; +export { GovernorSettings__factory } from "./GovernorSettings__factory"; +export { GovernorTimelockControl__factory } from "./GovernorTimelockControl__factory"; +export { GovernorVotes__factory } from "./GovernorVotes__factory"; +export { GovernorVotesQuorumFraction__factory } from "./GovernorVotesQuorumFraction__factory"; +export { IGovernorTimelock__factory } from "./IGovernorTimelock__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/index.ts new file mode 100644 index 0000000..ec478ce --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as extensions from "./extensions"; +export * as utils from "./utils"; +export { Governor__factory } from "./Governor__factory"; +export { IGovernor__factory } from "./IGovernor__factory"; +export { TimelockController__factory } from "./TimelockController__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/utils/IVotes__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/utils/IVotes__factory.ts new file mode 100644 index 0000000..b9da4b0 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/utils/IVotes__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IVotes, + IVotesInterface, +} from "../../../../../@openzeppelin/contracts/governance/utils/IVotes"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "delegator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "fromDelegate", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "toDelegate", + type: "address", + }, + ], + name: "DelegateChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "previousBalance", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newBalance", + type: "uint256", + }, + ], + name: "DelegateVotesChanged", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "delegatee", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegatee", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "delegateBySig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "delegates", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastTotalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IVotes__factory { + static readonly abi = _abi; + static createInterface(): IVotesInterface { + return new utils.Interface(_abi) as IVotesInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): IVotes { + return new Contract(address, _abi, signerOrProvider) as IVotes; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/governance/utils/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/governance/utils/index.ts new file mode 100644 index 0000000..9522544 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/governance/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IVotes__factory } from "./IVotes__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/index.ts new file mode 100644 index 0000000..df230d1 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as access from "./access"; +export * as governance from "./governance"; +export * as token from "./token"; +export * as utils from "./utils"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory.ts new file mode 100644 index 0000000..723a40e --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory.ts @@ -0,0 +1,123 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC1155Receiver, + IERC1155ReceiverInterface, +} from "../../../../../@openzeppelin/contracts/token/ERC1155/IERC1155Receiver"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "uint256[]", + name: "ids", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IERC1155Receiver__factory { + static readonly abi = _abi; + static createInterface(): IERC1155ReceiverInterface { + return new utils.Interface(_abi) as IERC1155ReceiverInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC1155Receiver { + return new Contract(address, _abi, signerOrProvider) as IERC1155Receiver; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/index.ts new file mode 100644 index 0000000..3e57b69 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC1155/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC1155Receiver__factory } from "./IERC1155Receiver__factory"; diff --git a/src/artifacts/types/factories/ERC20__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts similarity index 50% rename from src/artifacts/types/factories/ERC20__factory.ts rename to src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts index e8a55a6..c50b6d5 100644 --- a/src/artifacts/types/factories/ERC20__factory.ts +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts @@ -3,8 +3,11 @@ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../common"; -import type { ERC20, ERC20Interface } from "../ERC20"; +import type { PromiseOrValue } from "../../../../../common"; +import type { + ERC20, + ERC20Interface, +} from "../../../../../@openzeppelin/contracts/token/ERC20/ERC20"; const _abi = [ { @@ -296,7 +299,7 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b5060405162000c8338038062000c838339810160408190526200003491620001db565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b6109f180620002926000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e391906107de565b60405180910390f35b6100ff6100fa36600461086d565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f366004610897565b610290565b604051601281526020016100e3565b6100ff61015136600461086d565b6102b4565b6101136101643660046108d3565b6001600160a01b031660009081526020819052604090205490565b6100d66102f3565b6100ff61019536600461086d565b610302565b6100ff6101a836600461086d565b6103b1565b6101136101bb3660046108f5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610928565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610928565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103bf565b5060019392505050565b60003361029e858285610517565b6102a98585856105c7565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102ee90879061097c565b6103bf565b6060600480546101f590610928565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102a982868684036103bf565b6000336102868185856105c7565b6001600160a01b03831661043a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166104b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105c157818110156105b45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039b565b6105c184848484036103bf565b50505050565b6001600160a01b0383166106435760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166106bf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0383166000908152602081905260409020548181101561074e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061078590849061097c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d191815260200190565b60405180910390a36105c1565b600060208083528351808285015260005b8181101561080b578581018301518582016040015282016107ef565b8181111561081d576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b80356001600160a01b038116811461086857600080fd5b919050565b6000806040838503121561088057600080fd5b61088983610851565b946020939093013593505050565b6000806000606084860312156108ac57600080fd5b6108b584610851565b92506108c360208501610851565b9150604084013590509250925092565b6000602082840312156108e557600080fd5b6108ee82610851565b9392505050565b6000806040838503121561090857600080fd5b61091183610851565b915061091f60208401610851565b90509250929050565b600181811c9082168061093c57607f821691505b60208210811415610976577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082198211156109b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212207e054a500fb6f5de472aadee913569f226fd1c043cf47f35194ca78e5e208c2464736f6c63430008090033"; + "0x60806040523480156200001157600080fd5b5060405162000cda38038062000cda83398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6109e680620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e391906107e0565b60405180910390f35b6100ff6100fa366004610868565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f366004610892565b610292565b604051601281526020016100e3565b6100ff610151366004610868565b6102b6565b6101136101643660046108ce565b6001600160a01b031660009081526020819052604090205490565b6100d66102f5565b6100ff610195366004610868565b610304565b6100ff6101a8366004610868565b6103b3565b6101136101bb3660046108f0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610923565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610923565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103c1565b60019150505b92915050565b6000336102a0858285610519565b6102ab8585856105c9565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102f0908790610976565b6103c1565b6060600480546101f590610923565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab82868684036103c1565b6000336102868185856105c9565b6001600160a01b03831661043c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166104b85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105c357818110156105b65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039d565b6105c384848484036103c1565b50505050565b6001600160a01b0383166106455760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166106c15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b038316600090815260208190526040902054818110156107505760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610787908490610976565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d391815260200190565b60405180910390a36105c3565b600060208083528351808285015260005b8181101561080d578581018301518582016040015282016107f1565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b80356001600160a01b038116811461086357600080fd5b919050565b6000806040838503121561087b57600080fd5b6108848361084c565b946020939093013593505050565b6000806000606084860312156108a757600080fd5b6108b08461084c565b92506108be6020850161084c565b9150604084013590509250925092565b6000602082840312156108e057600080fd5b6108e98261084c565b9392505050565b6000806040838503121561090357600080fd5b61090c8361084c565b915061091a6020840161084c565b90509250929050565b600181811c9082168061093757607f821691505b602082108103610970577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8082018082111561028c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122081825ed40a3d39902b1e879ea735a912cccb18f2da701b32962af5150f8f16a364736f6c63430008110033"; type ERC20ConstructorParams = | [signer?: Signer] diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts new file mode 100644 index 0000000..52ad5a1 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts @@ -0,0 +1,206 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../../@openzeppelin/contracts/token/ERC20/IERC20"; + +const _abi = [ + { + 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: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + 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: "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", + }, +]; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new utils.Interface(_abi) as IERC20Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): IERC20 { + return new Contract(address, _abi, signerOrProvider) as IERC20; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes__factory.ts new file mode 100644 index 0000000..4d25e67 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes__factory.ts @@ -0,0 +1,608 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ERC20Votes, + ERC20VotesInterface, +} from "../../../../../../@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes"; + +const _abi = [ + { + 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: "delegator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "fromDelegate", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "toDelegate", + type: "address", + }, + ], + name: "DelegateChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "previousBalance", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newBalance", + type: "uint256", + }, + ], + name: "DelegateVotesChanged", + 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", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + 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: "address", + name: "account", + type: "address", + }, + { + internalType: "uint32", + name: "pos", + type: "uint32", + }, + ], + name: "checkpoints", + outputs: [ + { + components: [ + { + internalType: "uint32", + name: "fromBlock", + type: "uint32", + }, + { + internalType: "uint224", + name: "votes", + type: "uint224", + }, + ], + internalType: "struct ERC20Votes.Checkpoint", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + 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: "address", + name: "delegatee", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegatee", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "delegateBySig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "delegates", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastTotalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + 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: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "numCheckpoints", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + 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", + }, +]; + +export class ERC20Votes__factory { + static readonly abi = _abi; + static createInterface(): ERC20VotesInterface { + return new utils.Interface(_abi) as ERC20VotesInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ERC20Votes { + return new Contract(address, _abi, signerOrProvider) as ERC20Votes; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts new file mode 100644 index 0000000..a9ab743 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts @@ -0,0 +1,248 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC20Metadata, + IERC20MetadataInterface, +} from "../../../../../../@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata"; + +const _abi = [ + { + 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: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + 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: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + 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", + }, +]; + +export class IERC20Metadata__factory { + static readonly abi = _abi; + static createInterface(): IERC20MetadataInterface { + return new utils.Interface(_abi) as IERC20MetadataInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC20Metadata { + return new Contract(address, _abi, signerOrProvider) as IERC20Metadata; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit__factory.ts new file mode 100644 index 0000000..c13f8ec --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit__factory.ts @@ -0,0 +1,371 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ERC20Permit, + ERC20PermitInterface, +} from "../../../../../../../@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit"; + +const _abi = [ + { + 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: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + 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: "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: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + 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", + }, +]; + +export class ERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): ERC20PermitInterface { + return new utils.Interface(_abi) as ERC20PermitInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ERC20Permit { + return new Contract(address, _abi, signerOrProvider) as ERC20Permit; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts new file mode 100644 index 0000000..0c3398a --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20Permit__factory } from "./ERC20Permit__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.ts new file mode 100644 index 0000000..3c95eec --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory.ts @@ -0,0 +1,101 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC20Permit, + IERC20PermitInterface, +} from "../../../../../../../@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): IERC20PermitInterface { + return new utils.Interface(_abi) as IERC20PermitInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC20Permit { + return new Contract(address, _abi, signerOrProvider) as IERC20Permit; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts new file mode 100644 index 0000000..5f347d4 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Permit__factory } from "./IERC20Permit__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 0000000..403418e --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as draftErc20PermitSol from "./draft-ERC20Permit.sol"; +export * as draftIerc20PermitSol from "./draft-IERC20Permit.sol"; +export { ERC20Votes__factory } from "./ERC20Votes__factory"; +export { IERC20Metadata__factory } from "./IERC20Metadata__factory"; diff --git a/src/artifacts/types/factories/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts similarity index 50% rename from src/artifacts/types/factories/index.ts rename to src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts index eda8279..3523dc7 100644 --- a/src/artifacts/types/factories/index.ts +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts @@ -1,6 +1,6 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ +export * as extensions from "./extensions"; export { ERC20__factory } from "./ERC20__factory"; -export { PerpDepository__factory } from "./PerpDepository__factory"; -export { UXDController__factory } from "./UXDController__factory"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts new file mode 100644 index 0000000..50134e0 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory.ts @@ -0,0 +1,60 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC721Receiver, + IERC721ReceiverInterface, +} from "../../../../../@openzeppelin/contracts/token/ERC721/IERC721Receiver"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IERC721Receiver__factory { + static readonly abi = _abi; + static createInterface(): IERC721ReceiverInterface { + return new utils.Interface(_abi) as IERC721ReceiverInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC721Receiver { + return new Contract(address, _abi, signerOrProvider) as IERC721Receiver; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts new file mode 100644 index 0000000..aaceed6 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/ERC721/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC721Receiver__factory } from "./IERC721Receiver__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/token/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/token/index.ts new file mode 100644 index 0000000..a00c658 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/token/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc1155 from "./ERC1155"; +export * as erc20 from "./ERC20"; +export * as erc721 from "./ERC721"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/utils/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/utils/index.ts new file mode 100644 index 0000000..4f9ef4c --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/utils/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as introspection from "./introspection"; +export * as structs from "./structs"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts new file mode 100644 index 0000000..a0634c0 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/ERC165__factory.ts @@ -0,0 +1,42 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ERC165, + ERC165Interface, +} from "../../../../../@openzeppelin/contracts/utils/introspection/ERC165"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class ERC165__factory { + static readonly abi = _abi; + static createInterface(): ERC165Interface { + return new utils.Interface(_abi) as ERC165Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): ERC165 { + return new Contract(address, _abi, signerOrProvider) as ERC165; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts new file mode 100644 index 0000000..2e3b099 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/IERC165__factory.ts @@ -0,0 +1,45 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC165, + IERC165Interface, +} from "../../../../../@openzeppelin/contracts/utils/introspection/IERC165"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class IERC165__factory { + static readonly abi = _abi; + static createInterface(): IERC165Interface { + return new utils.Interface(_abi) as IERC165Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC165 { + return new Contract(address, _abi, signerOrProvider) as IERC165; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts new file mode 100644 index 0000000..8523e0a --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/utils/introspection/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC165__factory } from "./ERC165__factory"; +export { IERC165__factory } from "./IERC165__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/contracts/utils/structs/DoubleEndedQueue__factory.ts b/src/typechain-types/factories/@openzeppelin/contracts/utils/structs/DoubleEndedQueue__factory.ts new file mode 100644 index 0000000..4f9f8bc --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/utils/structs/DoubleEndedQueue__factory.ts @@ -0,0 +1,73 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../../common"; +import type { + DoubleEndedQueue, + DoubleEndedQueueInterface, +} from "../../../../../@openzeppelin/contracts/utils/structs/DoubleEndedQueue"; + +const _abi = [ + { + inputs: [], + name: "Empty", + type: "error", + }, + { + inputs: [], + name: "OutOfBounds", + type: "error", + }, +]; + +const _bytecode = + "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201483f078eaf5d690f28933eb1b34def4bd02da1121d589937bdfe94258b586e664736f6c63430008110033"; + +type DoubleEndedQueueConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: DoubleEndedQueueConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class DoubleEndedQueue__factory extends ContractFactory { + constructor(...args: DoubleEndedQueueConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): DoubleEndedQueue { + return super.attach(address) as DoubleEndedQueue; + } + override connect(signer: Signer): DoubleEndedQueue__factory { + return super.connect(signer) as DoubleEndedQueue__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): DoubleEndedQueueInterface { + return new utils.Interface(_abi) as DoubleEndedQueueInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): DoubleEndedQueue { + return new Contract(address, _abi, signerOrProvider) as DoubleEndedQueue; + } +} diff --git a/src/typechain-types/factories/@openzeppelin/contracts/utils/structs/index.ts b/src/typechain-types/factories/@openzeppelin/contracts/utils/structs/index.ts new file mode 100644 index 0000000..cadc0d8 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/contracts/utils/structs/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { DoubleEndedQueue__factory } from "./DoubleEndedQueue__factory"; diff --git a/src/typechain-types/factories/@openzeppelin/index.ts b/src/typechain-types/factories/@openzeppelin/index.ts new file mode 100644 index 0000000..6923c15 --- /dev/null +++ b/src/typechain-types/factories/@openzeppelin/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; +export * as contractsUpgradeable from "./contracts-upgradeable"; diff --git a/src/typechain-types/factories/@uniswap/index.ts b/src/typechain-types/factories/@uniswap/index.ts new file mode 100644 index 0000000..546517d --- /dev/null +++ b/src/typechain-types/factories/@uniswap/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as v3Core from "./v3-core"; +export * as v3Periphery from "./v3-periphery"; diff --git a/src/typechain-types/factories/@uniswap/v3-core/contracts/index.ts b/src/typechain-types/factories/@uniswap/v3-core/contracts/index.ts new file mode 100644 index 0000000..1d3444d --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-core/contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; diff --git a/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback__factory.ts b/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback__factory.ts new file mode 100644 index 0000000..a0c1048 --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback__factory.ts @@ -0,0 +1,53 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IUniswapV3SwapCallback, + IUniswapV3SwapCallbackInterface, +} from "../../../../../../@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback"; + +const _abi = [ + { + inputs: [ + { + internalType: "int256", + name: "amount0Delta", + type: "int256", + }, + { + internalType: "int256", + name: "amount1Delta", + type: "int256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "uniswapV3SwapCallback", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IUniswapV3SwapCallback__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3SwapCallbackInterface { + return new utils.Interface(_abi) as IUniswapV3SwapCallbackInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IUniswapV3SwapCallback { + return new Contract( + address, + _abi, + signerOrProvider + ) as IUniswapV3SwapCallback; + } +} diff --git a/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/index.ts b/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/index.ts new file mode 100644 index 0000000..0c401bd --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/callback/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IUniswapV3SwapCallback__factory } from "./IUniswapV3SwapCallback__factory"; diff --git a/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/index.ts b/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/index.ts new file mode 100644 index 0000000..01db08e --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-core/contracts/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as callback from "./callback"; diff --git a/src/typechain-types/factories/@uniswap/v3-core/index.ts b/src/typechain-types/factories/@uniswap/v3-core/index.ts new file mode 100644 index 0000000..6397da0 --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-core/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/src/typechain-types/factories/@uniswap/v3-periphery/contracts/index.ts b/src/typechain-types/factories/@uniswap/v3-periphery/contracts/index.ts new file mode 100644 index 0000000..1d3444d --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-periphery/contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; diff --git a/src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory.ts b/src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory.ts new file mode 100644 index 0000000..8fa4e41 --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory.ts @@ -0,0 +1,263 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ISwapRouter, + ISwapRouterInterface, +} from "../../../../../@uniswap/v3-periphery/contracts/interfaces/ISwapRouter"; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: "bytes", + name: "path", + type: "bytes", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountIn", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOutMinimum", + type: "uint256", + }, + ], + internalType: "struct ISwapRouter.ExactInputParams", + name: "params", + type: "tuple", + }, + ], + name: "exactInput", + outputs: [ + { + internalType: "uint256", + name: "amountOut", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "tokenIn", + type: "address", + }, + { + internalType: "address", + name: "tokenOut", + type: "address", + }, + { + internalType: "uint24", + name: "fee", + type: "uint24", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountIn", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOutMinimum", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + ], + internalType: "struct ISwapRouter.ExactInputSingleParams", + name: "params", + type: "tuple", + }, + ], + name: "exactInputSingle", + outputs: [ + { + internalType: "uint256", + name: "amountOut", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "bytes", + name: "path", + type: "bytes", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOut", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountInMaximum", + type: "uint256", + }, + ], + internalType: "struct ISwapRouter.ExactOutputParams", + name: "params", + type: "tuple", + }, + ], + name: "exactOutput", + outputs: [ + { + internalType: "uint256", + name: "amountIn", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "tokenIn", + type: "address", + }, + { + internalType: "address", + name: "tokenOut", + type: "address", + }, + { + internalType: "uint24", + name: "fee", + type: "uint24", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOut", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountInMaximum", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + ], + internalType: "struct ISwapRouter.ExactOutputSingleParams", + name: "params", + type: "tuple", + }, + ], + name: "exactOutputSingle", + outputs: [ + { + internalType: "uint256", + name: "amountIn", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "int256", + name: "amount0Delta", + type: "int256", + }, + { + internalType: "int256", + name: "amount1Delta", + type: "int256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "uniswapV3SwapCallback", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class ISwapRouter__factory { + static readonly abi = _abi; + static createInterface(): ISwapRouterInterface { + return new utils.Interface(_abi) as ISwapRouterInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ISwapRouter { + return new Contract(address, _abi, signerOrProvider) as ISwapRouter; + } +} diff --git a/src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/index.ts b/src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/index.ts new file mode 100644 index 0000000..786c846 --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-periphery/contracts/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ISwapRouter__factory } from "./ISwapRouter__factory"; diff --git a/src/typechain-types/factories/@uniswap/v3-periphery/index.ts b/src/typechain-types/factories/@uniswap/v3-periphery/index.ts new file mode 100644 index 0000000..6397da0 --- /dev/null +++ b/src/typechain-types/factories/@uniswap/v3-periphery/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/src/typechain-types/factories/contracts/core/IUXDController__factory.ts b/src/typechain-types/factories/contracts/core/IUXDController__factory.ts new file mode 100644 index 0000000..904a119 --- /dev/null +++ b/src/typechain-types/factories/contracts/core/IUXDController__factory.ts @@ -0,0 +1,107 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IUXDController, + IUXDControllerInterface, +} from "../../../contracts/core/IUXDController"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssetAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemable", + outputs: [ + { + internalType: "contract IRedeemable", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IUXDController__factory { + static readonly abi = _abi; + static createInterface(): IUXDControllerInterface { + return new utils.Interface(_abi) as IUXDControllerInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IUXDController { + return new Contract(address, _abi, signerOrProvider) as IUXDController; + } +} diff --git a/src/typechain-types/factories/contracts/core/IUXDRouter__factory.ts b/src/typechain-types/factories/contracts/core/IUXDRouter__factory.ts new file mode 100644 index 0000000..43d8f0a --- /dev/null +++ b/src/typechain-types/factories/contracts/core/IUXDRouter__factory.ts @@ -0,0 +1,110 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IUXDRouter, + IUXDRouterInterface, +} from "../../../contracts/core/IUXDRouter"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "findDepositoryForAssetDeposit", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + ], + name: "findDepositoryForRedeem", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "depository", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "registerDepository", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "depository", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "unregisterDepository", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IUXDRouter__factory { + static readonly abi = _abi; + static createInterface(): IUXDRouterInterface { + return new utils.Interface(_abi) as IUXDRouterInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IUXDRouter { + return new Contract(address, _abi, signerOrProvider) as IUXDRouter; + } +} diff --git a/src/typechain-types/factories/contracts/core/UXDControllerStorage__factory.ts b/src/typechain-types/factories/contracts/core/UXDControllerStorage__factory.ts new file mode 100644 index 0000000..199bea2 --- /dev/null +++ b/src/typechain-types/factories/contracts/core/UXDControllerStorage__factory.ts @@ -0,0 +1,107 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + UXDControllerStorage, + UXDControllerStorageInterface, +} from "../../../contracts/core/UXDControllerStorage"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "assetList", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeemable", + outputs: [ + { + internalType: "contract IRedeemable", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "router", + outputs: [ + { + internalType: "contract IUXDRouter", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "weth", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "whitelistedAssets", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export class UXDControllerStorage__factory { + static readonly abi = _abi; + static createInterface(): UXDControllerStorageInterface { + return new utils.Interface(_abi) as UXDControllerStorageInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXDControllerStorage { + return new Contract( + address, + _abi, + signerOrProvider + ) as UXDControllerStorage; + } +} diff --git a/src/typechain-types/factories/contracts/core/UXDController__factory.ts b/src/typechain-types/factories/contracts/core/UXDController__factory.ts new file mode 100644 index 0000000..ae2b673 --- /dev/null +++ b/src/typechain-types/factories/contracts/core/UXDController__factory.ts @@ -0,0 +1,642 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + UXDController, + UXDControllerInterface, +} from "../../../contracts/core/UXDController"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "CtrlAddressNotContract", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "minAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "CtrlMinNotMet", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "CtrlNotApproved", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "CtrlNotWhitelisted", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "beacon", + type: "address", + }, + ], + name: "BeaconUpgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Minted", + 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: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Redeemed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "by", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newRouter", + type: "address", + }, + ], + name: "RouterUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "by", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "isWhitelisted", + type: "bool", + }, + ], + name: "WhitelistUpdated", + type: "event", + }, + { + inputs: [], + name: "VERSION", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "assetList", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_weth", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + { + internalType: "uint256", + name: "assetAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "minAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mintWithEth", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proxiableUUID", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmonuntOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "redeemForEth", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemable", + outputs: [ + { + internalType: "contract IRedeemable", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "router", + outputs: [ + { + internalType: "contract IUXDRouter", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_redeemable", + type: "address", + }, + ], + name: "setRedeemable", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_router", + type: "address", + }, + ], + name: "updateRouter", + 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: "weth", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "tokenAddress", + type: "address", + }, + { + internalType: "bool", + name: "isWhitelisted", + type: "bool", + }, + ], + name: "whitelistAsset", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "whitelistedAssets", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +const _bytecode = + "0x60a06040523060805234801561001457600080fd5b5060805161286761004c6000396000818161073c015281816107d2015281816109c701528181610a5d0152610b5801526128676000f3fe6080604052600436106101635760003560e01c80638da5cb5b116100c0578063cba91dd211610074578063f74bfe8e11610059578063f74bfe8e146103aa578063f887ea40146103ca578063ffa1ad74146103ea57600080fd5b8063cba91dd21461036a578063f2fde38b1461038a57600080fd5b8063b05ea1b8116100a5578063b05ea1b81461030a578063c4d66de81461032a578063c851cc321461034a57600080fd5b80638da5cb5b146102cc578063a0b4b301146102ea57600080fd5b80633fc8cef3116101175780634f1ef286116100fc5780634f1ef2861461028f57806352d1902d146102a2578063715018a6146102b757600080fd5b80633fc8cef31461024f57806343bcfab61461026f57600080fd5b80632d7ecd11116101485780632d7ecd11146101b75780633659cfe6146101ef578063371510fc1461020f57600080fd5b80630bae74231461016f57806329175b591461019557600080fd5b3661016a57005b600080fd5b61018261017d3660046124f1565b610436565b6040519081526020015b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004612521565b610676565b005b3480156101c357600080fd5b5060fb546101d7906001600160a01b031681565b6040516001600160a01b03909116815260200161018c565b3480156101fb57600080fd5b506101b561020a366004612521565b610732565b34801561021b57600080fd5b5061023f61022a366004612521565b60fd6020526000908152604090205460ff1681565b604051901515815260200161018c565b34801561025b57600080fd5b5060ff546101d7906001600160a01b031681565b34801561027b57600080fd5b5061018261028a36600461253e565b6108cf565b6101b561029d36600461259e565b6109bd565b3480156102ae57600080fd5b50610182610b4b565b3480156102c357600080fd5b506101b5610c10565b3480156102d857600080fd5b5060c9546001600160a01b03166101d7565b3480156102f657600080fd5b506101d7610305366004612662565b610c76565b34801561031657600080fd5b5061018261032536600461267b565b610ca0565b34801561033657600080fd5b506101b5610345366004612521565b610e2c565b34801561035657600080fd5b506101b5610365366004612521565b610f0c565b34801561037657600080fd5b506101b56103853660046126c2565b610ff2565b34801561039657600080fd5b506101b56103a5366004612521565b611109565b3480156103b657600080fd5b506101826103c536600461253e565b6111e8565b3480156103d657600080fd5b5060fc546101d7906001600160a01b031681565b3480156103f657600080fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161018c9190612714565b600060026065540361048f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260655560ff5460fc546040517f9c93ed2a0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316600482018190523460248301819052939092600092911690639c93ed2a90604401602060405180830381865afa158015610509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052d9190612747565b905060ff60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561057f57600080fd5b505af1158015610593573d6000803e3d6000fd5b505060ff546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201899052909116935063a9059cbb925060440190506020604051808303816000875af1158015610605573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106299190612764565b506040805160a0810182526001600160a01b0380851682523460208301529181018890528682166060820152908216608082015261066681611497565b6001606555979650505050505050565b60c9546001600160a01b031633146106d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0381163b610703576040516334f0e1ad60e11b81526001600160a01b0382166004820152602401610486565b60fb805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107d05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610486565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146108a75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610486565b6108b0816116cb565b604080516000808252602082019092526108cc91839190611725565b50565b60006002606554036109235760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610486565b6002606555604080516080810182526001600160a01b038088168252602082018790529181018590529083166060820152600061095f826118ca565b9050836001600160a01b0316336001600160a01b03167f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc836040516109a691815260200190565b60405180910390a360016065559695505050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a5b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610486565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610b325760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610486565b610b3b826116cb565b610b4782826001611725565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610beb5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610486565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60c9546001600160a01b03163314610c6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b610c746000611ccc565b565b60fe8181548110610c8657600080fd5b6000918252602090912001546001600160a01b0316905081565b6000600260655403610cf45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610486565b60026065556040805160808101825260ff546001600160a01b03168152602081018690529081018490523060608201526000610d2f826118ca565b60ff546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018390529192506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b50506040516001600160a01b038716925083156108fc02915083906000818181858888f19350505050158015610ddd573d6000803e3d6000fd5b506040518181526001600160a01b0385169033907f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc9060200160405180910390a3600160655595945050505050565b6000610e386001611d2b565b90508015610e50576000805461ff0019166101001790555b610e58611e5f565b610e60611ed2565b610e68611f45565b6001600160a01b0382163b610e9b576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610486565b60ff805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610b47576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60c9546001600160a01b03163314610f665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0381163b610f99576040516334f0e1ad60e11b81526001600160a01b0382166004820152602401610486565b60fc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831690811790915560405133907f02dc5c233404867c793b749c6d644beb2277536d18a7e7974d3f238e4c6f168490600090a350565b60c9546001600160a01b0316331461104c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0382163b61107f576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610486565b6001600160a01b038216600090815260fd60205260409020805460ff191682158015919091179091556110ba576110b582611fb0565b6110c3565b6110c382612065565b60405181151581526001600160a01b0383169033907fd9c6c3eabe38e3b9a606a66358d8f225489216a59eeba66facefb7d9166352669060200160405180910390a35050565b60c9546001600160a01b031633146111635760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0381166111df5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610486565b6108cc81611ccc565b600060026065540361123c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610486565b60026065556040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201819052306024830152869186906001600160a01b0384169063dd62ed3e90604401602060405180830381865afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce9190612781565b1015611320576040517f3a30efb80000000000000000000000000000000000000000000000000000000081526001600160a01b0380891660048301528216602482015260448101879052606401610486565b60fc546040517f9c93ed2a0000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152602482018990526000921690639c93ed2a90604401602060405180830381865afa15801561138b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113af9190612747565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528083166024830152604482018a9052919250908416906323b872dd906064016020604051808303816000875af1158015611423573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114479190612764565b506040805160a0810182526001600160a01b03808b168252602082018a90529181018890528682166060820152908216608082015261148581611497565b60016065559998505050505050505050565b80516001600160a01b0316600090815260fd602052604081205460ff166114f85781516040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610486565b6080820151825160208401516040517f47e7ef240000000000000000000000000000000000000000000000000000000081526000936001600160a01b0316926347e7ef249261155d926004016001600160a01b03929092168252602082015260400190565b6020604051808303816000875af115801561157c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a09190612781565b905082604001518110156115f1578260400151816040517f7a798551000000000000000000000000000000000000000000000000000000008152600401610486929190918252602082015260400190565b60fb5460608401516040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018490529116906340c10f1990604401600060405180830381600087803b15801561165c57600080fd5b505af1158015611670573d6000803e3d6000fd5b5050505082606001516001600160a01b0316336001600160a01b03167f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0836040516116bd91815260200190565b60405180910390a392915050565b60c9546001600160a01b031633146108cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561175d5761175883612175565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117b7575060408051601f3d908101601f191682019092526117b491810190612781565b60015b6118295760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610486565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146118be5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610486565b50611758838383612240565b80516001600160a01b0316600090815260fd602052604081205460ff1661192b5781516040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610486565b602082015160fb546040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160a01b039091169063dd62ed3e90604401602060405180830381865afa158015611997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bb9190612781565b1015611a125760fb5460208301516040517f3a30efb80000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301523360248301526044820152606401610486565b60fc54825160208401516040517f31f32a060000000000000000000000000000000000000000000000000000000081526000936001600160a01b0316926331f32a0692611a75926004016001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015611a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab69190612747565b835160208501516040517f1e9a69500000000000000000000000000000000000000000000000000000000081529293506000926001600160a01b03851692631e9a695092611b1a926004016001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015611b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5d9190612781565b90508360400151811015611bae578360400151816040517f7a798551000000000000000000000000000000000000000000000000000000008152600401610486929190918252602082015260400190565b60fb5460208501516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015260248101919091526001600160a01b0390911690639dc29fac90604401600060405180830381600087803b158015611c1957600080fd5b505af1158015611c2d573d6000803e3d6000fd5b5050855160608701516040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018690529116925063a9059cbb91506044016020604051808303816000875af1158015611ca0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc49190612764565b509392505050565b60c980546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008054610100900460ff1615611dc8578160ff166001148015611d4e5750303b155b611dc05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610486565b506000919050565b60005460ff808416911610611e455760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610486565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611eca5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b610c7461226b565b600054610100900460ff16611f3d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b610c746122df565b600054610100900460ff16610c745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b60005b60fe548110156120055760fe8181548110611fd057611fd061279a565b6000918252602090912001546001600160a01b0390811690831603611ff3575050565b80611ffd816127b0565b915050611fb3565b5060fe80546001810182556000919091527f54075df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60001960005b60fe548110156120c15760fe81815481106120885761208861279a565b6000918252602090912001546001600160a01b03908116908416036120af578091506120c1565b806120b9816127b0565b91505061206b565b506000198114610b475760fe80546120d761279a565b60009182526020909120015460fe80546001600160a01b0390921691839081106121035761210361279a565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060fe805480612142576121426127d8565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b6001600160a01b0381163b6121f25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610486565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61224983612351565b6000825111806122565750805b15611758576122658383612391565b50505050565b600054610100900460ff166122d65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b610c7433611ccc565b600054610100900460ff1661234a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b6001606555565b61235a81612175565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6124105760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610486565b600080846001600160a01b03168460405161242b91906127ee565b600060405180830381855af49150503d8060008114612466576040519150601f19603f3d011682016040523d82523d6000602084013e61246b565b606091505b5091509150612493828260405180606001604052806027815260200161280b6027913961249c565b95945050505050565b606083156124ab5750816124d5565b8251156124bb5782518084602001fd5b8160405162461bcd60e51b81526004016104869190612714565b9392505050565b6001600160a01b03811681146108cc57600080fd5b6000806040838503121561250457600080fd5b823591506020830135612516816124dc565b809150509250929050565b60006020828403121561253357600080fd5b81356124d5816124dc565b6000806000806080858703121561255457600080fd5b843561255f816124dc565b93506020850135925060408501359150606085013561257d816124dc565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156125b157600080fd5b82356125bc816124dc565b9150602083013567ffffffffffffffff808211156125d957600080fd5b818501915085601f8301126125ed57600080fd5b8135818111156125ff576125ff612588565b604051601f8201601f19908116603f0116810190838211818310171561262757612627612588565b8160405282815288602084870101111561264057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561267457600080fd5b5035919050565b60008060006060848603121561269057600080fd5b833592506020840135915060408401356126a9816124dc565b809150509250925092565b80151581146108cc57600080fd5b600080604083850312156126d557600080fd5b82356126e0816124dc565b91506020830135612516816126b4565b60005b8381101561270b5781810151838201526020016126f3565b50506000910152565b60208152600082518060208401526127338160408501602087016126f0565b601f01601f19169190910160400192915050565b60006020828403121561275957600080fd5b81516124d5816124dc565b60006020828403121561277657600080fd5b81516124d5816126b4565b60006020828403121561279357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060001982036127d157634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603160045260246000fd5b600082516128008184602087016126f0565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220844d6faf2b70317028f614aea38065e08e84ed50af17eacd2345c4b5aacc688164736f6c63430008110033"; + +type UXDControllerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UXDControllerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UXDController__factory extends ContractFactory { + constructor(...args: UXDControllerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): UXDController { + return super.attach(address) as UXDController; + } + override connect(signer: Signer): UXDController__factory { + return super.connect(signer) as UXDController__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UXDControllerInterface { + return new utils.Interface(_abi) as UXDControllerInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXDController { + return new Contract(address, _abi, signerOrProvider) as UXDController; + } +} diff --git a/src/typechain-types/factories/contracts/core/UXDRouter__factory.ts b/src/typechain-types/factories/contracts/core/UXDRouter__factory.ts new file mode 100644 index 0000000..16db593 --- /dev/null +++ b/src/typechain-types/factories/contracts/core/UXDRouter__factory.ts @@ -0,0 +1,305 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + UXDRouter, + UXDRouterInterface, +} from "../../../contracts/core/UXDRouter"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + { + internalType: "address", + name: "depository", + type: "address", + }, + ], + name: "Exists", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "market", + type: "address", + }, + ], + name: "NoDepositoryForMarket", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + ], + name: "NotExists", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "RouterNotController", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "assetToken", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "depository", + type: "address", + }, + ], + name: "DepositoryRegistered", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "assetToken", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "depository", + type: "address", + }, + ], + name: "DepositoryUnregistered", + 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: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + ], + name: "depositoriesForAsset", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "findDepositoryForAssetDeposit", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "findDepositoryForRedeem", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "depository", + type: "address", + }, + { + internalType: "address", + name: "assetToken", + type: "address", + }, + ], + name: "registerDepository", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "depository", + type: "address", + }, + { + internalType: "address", + name: "assetToken", + type: "address", + }, + ], + name: "unregisterDepository", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61095e8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638835610e1161005b5780638835610e146100fa5780638da5cb5b1461010d5780639c93ed2a1461008d578063f2fde38b1461011e57600080fd5b806331f32a061461008d578063576440e4146100bd578063715018a6146100dd5780637d77c9d5146100e7575b600080fd5b6100a061009b3660046107f4565b610131565b6040516001600160a01b0390911681526020015b60405180910390f35b6100d06100cb36600461081e565b610145565b6040516100b49190610839565b6100e56101bb565b005b6100e56100f5366004610886565b610226565b6100e5610108366004610886565b61044d565b6000546001600160a01b03166100a0565b6100e561012c36600461081e565b61057f565b600061013c83610661565b90505b92915050565b6001600160a01b0381166000908152600160209081526040918290208054835181840281018401909452808452606093928301828280156101af57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610191575b50505050509050919050565b6000546001600160a01b0316331461021a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61022460006106d4565b565b6000546001600160a01b031633146102805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610211565b6001600160a01b0381166000908152600160205260408120805482036102c4576040516319b604cf60e31b81526001600160a01b0384166004820152602401610211565b60005b81548110156103dd57846001600160a01b03168282815481106102ec576102ec6108b9565b6000918252602090912001546001600160a01b0316036103cb5781546001935082906103199085906108e5565b81548110610329576103296108b9565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110610359576103596108b9565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480610397576103976108f8565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190556103dd565b806103d58161090e565b9150506102c7565b5081610407576040516319b604cf60e31b81526001600160a01b0384166004820152602401610211565b836001600160a01b0316836001600160a01b03167faf217fafb3cc2121512a93a9c04444412047986aa5c193da328973f4169e8a1d60405160405180910390a350505050565b6000546001600160a01b031633146104a75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610211565b60006104b38284610731565b90506001600160a01b03811615610509576040517f06c1e5280000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015284166024820152604401610211565b6001600160a01b038281166000818152600160208181526040808420805493840181558452908320909101805473ffffffffffffffffffffffffffffffffffffffff19169488169485179055517fd390cb409734e3ce7ab74cea027a942524ab2195c20ff2259d6114482f6c4fe69190a3505050565b6000546001600160a01b031633146105d95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610211565b6001600160a01b0381166106555760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610211565b61065e816106d4565b50565b6001600160a01b0381166000908152600160205260408120805482036106a5576040516319b604cf60e31b81526001600160a01b0384166004820152602401610211565b806000815481106106b8576106b86108b9565b6000918252602090912001546001600160a01b03169392505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000908152600160205260408120815b81548110156107cd57836001600160a01b0316828281548110610770576107706108b9565b6000918252602090912001546001600160a01b0316036107bb5781818154811061079c5761079c6108b9565b6000918252602090912001546001600160a01b0316925061013f915050565b806107c58161090e565b91505061074b565b506000949350505050565b80356001600160a01b03811681146107ef57600080fd5b919050565b6000806040838503121561080757600080fd5b610810836107d8565b946020939093013593505050565b60006020828403121561083057600080fd5b61013c826107d8565b6020808252825182820181905260009190848201906040850190845b8181101561087a5783516001600160a01b031683529284019291840191600101610855565b50909695505050505050565b6000806040838503121561089957600080fd5b6108a2836107d8565b91506108b0602084016107d8565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561013f5761013f6108cf565b634e487b7160e01b600052603160045260246000fd5b60006000198203610921576109216108cf565b506001019056fea2646970667358221220873a31ef09f71bbf78e8d7e32506219a44884ee1cc3042b01a97c2acae815ba164736f6c63430008110033"; + +type UXDRouterConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UXDRouterConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UXDRouter__factory extends ContractFactory { + constructor(...args: UXDRouterConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): UXDRouter { + return super.attach(address) as UXDRouter; + } + override connect(signer: Signer): UXDRouter__factory { + return super.connect(signer) as UXDRouter__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UXDRouterInterface { + return new utils.Interface(_abi) as UXDRouterInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXDRouter { + return new Contract(address, _abi, signerOrProvider) as UXDRouter; + } +} diff --git a/src/typechain-types/factories/contracts/core/UXDToken.sol/IRedeemable__factory.ts b/src/typechain-types/factories/contracts/core/UXDToken.sol/IRedeemable__factory.ts new file mode 100644 index 0000000..afead7a --- /dev/null +++ b/src/typechain-types/factories/contracts/core/UXDToken.sol/IRedeemable__factory.ts @@ -0,0 +1,245 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IRedeemable, + IRedeemableInterface, +} from "../../../../contracts/core/UXDToken.sol/IRedeemable"; + +const _abi = [ + { + 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: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + 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: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + 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", + }, +]; + +export class IRedeemable__factory { + static readonly abi = _abi; + static createInterface(): IRedeemableInterface { + return new utils.Interface(_abi) as IRedeemableInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IRedeemable { + return new Contract(address, _abi, signerOrProvider) as IRedeemable; + } +} diff --git a/src/typechain-types/factories/contracts/core/UXDToken.sol/UXDToken__factory.ts b/src/typechain-types/factories/contracts/core/UXDToken.sol/UXDToken__factory.ts new file mode 100644 index 0000000..3d50357 --- /dev/null +++ b/src/typechain-types/factories/contracts/core/UXDToken.sol/UXDToken__factory.ts @@ -0,0 +1,637 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../common"; +import type { + UXDToken, + UXDTokenInterface, +} from "../../../../contracts/core/UXDToken.sol/UXDToken"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "ErrZeroAddress", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "recovered", + type: "address", + }, + ], + name: "InvalidSigner", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "NotAllowed", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "msgSender", + type: "address", + }, + ], + name: "NotController", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "supplyCap", + type: "uint256", + }, + { + internalType: "uint256", + name: "newTotalSupply", + type: "uint256", + }, + ], + name: "OverSupplyCap", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "PermitDeadlineExpired", + type: "error", + }, + { + 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: "account", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Burned", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Minted", + 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: true, + internalType: "address", + name: "by", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "cap", + type: "uint256", + }, + ], + name: "SupplyCapChanged", + 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", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + 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: "", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "controller", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "maxSupply", + type: "uint256", + }, + ], + name: "setSupplyCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "supplyCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + 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: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x60e060405234801561001057600080fd5b5060405161134138038061134183398101604081905261002f9161017a565b6100383361012a565b466080526100f5604080518082018252600381526215561160ea1b60209182015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fd12cecfb4a2738680e07e97682341ba7a5b52e1cd53d72bb39485bf56c5382eb818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b60a0526001600160a01b03811660c081905261012457604051630ecc6fdf60e41b815260040160405180910390fd5b506101aa565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561018c57600080fd5b81516001600160a01b03811681146101a357600080fd5b9392505050565b60805160a05160c05161114c6101f56000396000818161034c0152818161060c015281816106460152818161076901526107a3015260006105e8015260006104ef015261114c6000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638da5cb5b116100cd578063b6a3f59a11610081578063dd62ed3e11610066578063dd62ed3e14610309578063f2fde38b14610334578063f77c47911461034757600080fd5b8063b6a3f59a146102e3578063d505accf146102f657600080fd5b806395d89b41116100b257806395d89b41146101715780639dc29fac146102bd578063a9059cbb146102d057600080fd5b80638da5cb5b1461028f5780638f770ad0146102b457600080fd5b80633644e5151161012457806370a082311161010957806370a0823114610247578063715018a6146102675780637ecebe001461026f57600080fd5b80633644e5151461022a57806340c10f191461023257600080fd5b806318160ddd1161015557806318160ddd146101e657806323b872dd146101fd578063313ce5671461021057600080fd5b806306fdde0314610171578063095ea7b3146101c3575b600080fd5b6101ad6040518060400160405280600381526020017f555844000000000000000000000000000000000000000000000000000000000081525081565b6040516101ba9190610ef6565b60405180910390f35b6101d66101d1366004610f60565b61036e565b60405190151581526020016101ba565b6101ef60015481565b6040519081526020016101ba565b6101d661020b366004610f8a565b6103db565b610218601281565b60405160ff90911681526020016101ba565b6101ef6104eb565b610245610240366004610f60565b61060a565b005b6101ef610255366004610fc6565b60036020526000908152604090205481565b610245610701565b6101ef61027d366004610fc6565b60056020526000908152604090205481565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101ba565b6101ef60025481565b6102456102cb366004610f60565b610767565b6101d66102de366004610f60565b610844565b6102456102f1366004610fe8565b6108d4565b610245610304366004611001565b6109bb565b6101ef610317366004611074565b600460209081526000928352604080842090915290825290205481565b610245610342366004610fc6565b610bf9565b61029c7f000000000000000000000000000000000000000000000000000000000000000081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103c99086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146104375761041283826110d6565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b0385166000908152600360205260408120805485929061045f9084906110d6565b90915550506001600160a01b0384166000908152600360205260408120805485929061048c9084906110e9565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516104d891815260200190565b60405180910390a3506001949350505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146105e55750604080518082018252600381527f555844000000000000000000000000000000000000000000000000000000000060209182015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fd12cecfb4a2738680e07e97682341ba7a5b52e1cd53d72bb39485bf56c5382eb818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b507f000000000000000000000000000000000000000000000000000000000000000090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615806106695750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b156106a7576040517f66719b7a0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6106b081610cdb565b6106ba8282610d3b565b816001600160a01b03167f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe826040516106f591815260200190565b60405180910390a25050565b6000546001600160a01b0316331461075b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161069e565b6107656000610dc5565b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615806107c65750336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614155b156107ff576040517f66719b7a00000000000000000000000000000000000000000000000000000000815233600482015260240161069e565b6108098282610e2d565b816001600160a01b03167f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7826040516106f591815260200190565b336000908152600360205260408120805483919083906108659084906110d6565b90915550506001600160a01b038316600090815260036020526040812080548492906108929084906110e9565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016103c9565b6000546001600160a01b0316331461092e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161069e565b6000811161097e5760405162461bcd60e51b815260206004820152600b60248201527f5a65726f20416d6f756e74000000000000000000000000000000000000000000604482015260640161069e565b600281905560405181815233907f7667cde738f3b2f178f6dd27f65ae2d93110aaa12b04b3b341dccb7a0cc1f1609060200160405180910390a250565b6109c484610eb1565b600060016109d06104eb565b6001600160a01b038a16600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d92909190610a1e836110fc565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610ab29291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610b10573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580610b455750876001600160a01b0316816001600160a01b031614155b15610b8f576040517f7ba5ffb50000000000000000000000000000000000000000000000000000000081526001600160a01b03808a1660048301528216602482015260440161069e565b6001600160a01b0381811660009081526004602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b6000546001600160a01b03163314610c535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161069e565b6001600160a01b038116610ccf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161069e565b610cd881610dc5565b50565b600081600154610ceb91906110e9565b9050600254811115610d37576002546040517f06d7a94d00000000000000000000000000000000000000000000000000000000815260048101919091526024810182905260440161069e565b5050565b8060016000828254610d4d91906110e9565b90915550506001600160a01b03821660009081526003602052604081208054839290610d7a9084906110e9565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03821660009081526003602052604081208054839290610e559084906110d6565b925050819055508060016000828254610e6e91906110d6565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610db9565b4280821015610d37576040517fc4773cba000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161069e565b600060208083528351808285015260005b81811015610f2357858101830151858201604001528201610f07565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610f5b57600080fd5b919050565b60008060408385031215610f7357600080fd5b610f7c83610f44565b946020939093013593505050565b600080600060608486031215610f9f57600080fd5b610fa884610f44565b9250610fb660208501610f44565b9150604084013590509250925092565b600060208284031215610fd857600080fd5b610fe182610f44565b9392505050565b600060208284031215610ffa57600080fd5b5035919050565b600080600080600080600060e0888a03121561101c57600080fd5b61102588610f44565b965061103360208901610f44565b95506040880135945060608801359350608088013560ff8116811461105757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561108757600080fd5b61109083610f44565b915061109e60208401610f44565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156103d5576103d56110a7565b808201808211156103d5576103d56110a7565b6000600019820361110f5761110f6110a7565b506001019056fea26469706673582212200c2f460b5cf112e5bafa5f4a5cd85ffb948f2bc0b40ccc6fb799a56419d0742d64736f6c63430008110033"; + +type UXDTokenConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UXDTokenConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UXDToken__factory extends ContractFactory { + constructor(...args: UXDTokenConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(_controller, overrides || {}) as Promise; + } + override getDeployTransaction( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(_controller, overrides || {}); + } + override attach(address: string): UXDToken { + return super.attach(address) as UXDToken; + } + override connect(signer: Signer): UXDToken__factory { + return super.connect(signer) as UXDToken__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UXDTokenInterface { + return new utils.Interface(_abi) as UXDTokenInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXDToken { + return new Contract(address, _abi, signerOrProvider) as UXDToken; + } +} diff --git a/src/typechain-types/factories/contracts/core/UXDToken.sol/index.ts b/src/typechain-types/factories/contracts/core/UXDToken.sol/index.ts new file mode 100644 index 0000000..ad1b6de --- /dev/null +++ b/src/typechain-types/factories/contracts/core/UXDToken.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IRedeemable__factory } from "./IRedeemable__factory"; +export { UXDToken__factory } from "./UXDToken__factory"; diff --git a/src/typechain-types/factories/contracts/core/index.ts b/src/typechain-types/factories/contracts/core/index.ts new file mode 100644 index 0000000..59a3cb9 --- /dev/null +++ b/src/typechain-types/factories/contracts/core/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as uxdTokenSol from "./UXDToken.sol"; +export { IUXDController__factory } from "./IUXDController__factory"; +export { IUXDRouter__factory } from "./IUXDRouter__factory"; +export { UXDController__factory } from "./UXDController__factory"; +export { UXDControllerStorage__factory } from "./UXDControllerStorage__factory"; +export { UXDRouter__factory } from "./UXDRouter__factory"; diff --git a/src/typechain-types/factories/contracts/external/index.ts b/src/typechain-types/factories/contracts/external/index.ts new file mode 100644 index 0000000..082c28c --- /dev/null +++ b/src/typechain-types/factories/contracts/external/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as perp from "./perp"; +export * as rageTrade from "./rage-trade"; +export * as weth from "./weth"; diff --git a/src/typechain-types/factories/contracts/external/perp/IAccountBalance__factory.ts b/src/typechain-types/factories/contracts/external/perp/IAccountBalance__factory.ts new file mode 100644 index 0000000..2f4c073 --- /dev/null +++ b/src/typechain-types/factories/contracts/external/perp/IAccountBalance__factory.ts @@ -0,0 +1,665 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IAccountBalance, + IAccountBalanceInterface, +} from "../../../../contracts/external/perp/IAccountBalance"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: false, + internalType: "int256", + name: "amount", + type: "int256", + }, + ], + name: "PnlRealized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "VaultChanged", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "deregisterBaseToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getAccountInfo", + outputs: [ + { + components: [ + { + internalType: "int256", + name: "takerPositionSize", + type: "int256", + }, + { + internalType: "int256", + name: "takerOpenNotional", + type: "int256", + }, + { + internalType: "int256", + name: "lastTwPremiumGrowthGlobalX96", + type: "int256", + }, + ], + internalType: "struct AccountMarket.Info", + name: "traderAccountInfo", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getBase", + outputs: [ + { + internalType: "int256", + name: "baseAmount", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getBaseTokens", + outputs: [ + { + internalType: "address[]", + name: "baseTokens", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getClearingHouseConfig", + outputs: [ + { + internalType: "address", + name: "clearingHouseConfig", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getMarginRequirementForLiquidation", + outputs: [ + { + internalType: "int256", + name: "marginRequirementForLiquidation", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getOrderBook", + outputs: [ + { + internalType: "address", + name: "orderBook", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getPnlAndPendingFee", + outputs: [ + { + internalType: "int256", + name: "owedRealizedPnl", + type: "int256", + }, + { + internalType: "int256", + name: "unrealizedPnl", + type: "int256", + }, + { + internalType: "uint256", + name: "pendingFee", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getQuote", + outputs: [ + { + internalType: "int256", + name: "quoteAmount", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTakerOpenNotional", + outputs: [ + { + internalType: "int256", + name: "openNotional", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTakerPositionSize", + outputs: [ + { + internalType: "int256", + name: "takerPositionSize", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getTotalAbsPositionValue", + outputs: [ + { + internalType: "uint256", + name: "totalAbsPositionValue", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getTotalDebtValue", + outputs: [ + { + internalType: "uint256", + name: "totalDebtValue", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTotalOpenNotional", + outputs: [ + { + internalType: "int256", + name: "totalOpenNotional", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTotalPositionSize", + outputs: [ + { + internalType: "int256", + name: "totalPositionSize", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTotalPositionValue", + outputs: [ + { + internalType: "int256", + name: "totalPositionValue", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getVault", + outputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "hasOrder", + outputs: [ + { + internalType: "bool", + name: "hasOrder", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "int256", + name: "amount", + type: "int256", + }, + ], + name: "modifyOwedRealizedPnl", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "int256", + name: "base", + type: "int256", + }, + { + internalType: "int256", + name: "quote", + type: "int256", + }, + ], + name: "modifyTakerBalance", + outputs: [ + { + internalType: "int256", + name: "takerPositionSize", + type: "int256", + }, + { + internalType: "int256", + name: "takerOpenNotional", + type: "int256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "registerBaseToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "maker", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "int256", + name: "takerBase", + type: "int256", + }, + { + internalType: "int256", + name: "takerQuote", + type: "int256", + }, + { + internalType: "int256", + name: "realizedPnl", + type: "int256", + }, + { + internalType: "int256", + name: "fee", + type: "int256", + }, + ], + name: "settleBalanceAndDeregister", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "settleOwedRealizedPnl", + outputs: [ + { + internalType: "int256", + name: "pnl", + type: "int256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "settlePositionInClosedMarket", + outputs: [ + { + internalType: "int256", + name: "positionNotional", + type: "int256", + }, + { + internalType: "int256", + name: "openNotional", + type: "int256", + }, + { + internalType: "int256", + name: "realizedPnl", + type: "int256", + }, + { + internalType: "uint256", + name: "closedPrice", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "int256", + name: "amount", + type: "int256", + }, + ], + name: "settleQuoteToOwedRealizedPnl", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "int256", + name: "lastTwPremiumGrowthGlobalX96", + type: "int256", + }, + ], + name: "updateTwPremiumGrowthGlobal", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IAccountBalance__factory { + static readonly abi = _abi; + static createInterface(): IAccountBalanceInterface { + return new utils.Interface(_abi) as IAccountBalanceInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IAccountBalance { + return new Contract(address, _abi, signerOrProvider) as IAccountBalance; + } +} diff --git a/src/typechain-types/factories/contracts/external/perp/IClearingHouse__factory.ts b/src/typechain-types/factories/contracts/external/perp/IClearingHouse__factory.ts new file mode 100644 index 0000000..d2664fd --- /dev/null +++ b/src/typechain-types/factories/contracts/external/perp/IClearingHouse__factory.ts @@ -0,0 +1,826 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IClearingHouse, + IClearingHouseInterface, +} from "../../../../contracts/external/perp/IClearingHouse"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "int256", + name: "fundingPayment", + type: "int256", + }, + ], + name: "FundingPaymentSettled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "maker", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "quoteToken", + type: "address", + }, + { + indexed: false, + internalType: "int24", + name: "lowerTick", + type: "int24", + }, + { + indexed: false, + internalType: "int24", + name: "upperTick", + type: "int24", + }, + { + indexed: false, + internalType: "int256", + name: "base", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "quote", + type: "int256", + }, + { + indexed: false, + internalType: "int128", + name: "liquidity", + type: "int128", + }, + { + indexed: false, + internalType: "uint256", + name: "quoteFee", + type: "uint256", + }, + ], + name: "LiquidityChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "int256", + name: "exchangedPositionSize", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "exchangedPositionNotional", + type: "int256", + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256", + }, + { + indexed: false, + internalType: "int256", + name: "openNotional", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "realizedPnl", + type: "int256", + }, + { + indexed: false, + internalType: "uint256", + name: "sqrtPriceAfterX96", + type: "uint256", + }, + ], + name: "PositionChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "int256", + name: "closedPositionSize", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "closedPositionNotional", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "openNotional", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "realizedPnl", + type: "int256", + }, + { + indexed: false, + internalType: "uint256", + name: "closedPrice", + type: "uint256", + }, + ], + name: "PositionClosed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "positionNotional", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "positionSize", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "liquidationFee", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "liquidator", + type: "address", + }, + ], + name: "PositionLiquidated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "referralCode", + type: "bytes32", + }, + ], + name: "ReferredPositionChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "forwarder", + type: "address", + }, + ], + name: "TrustedForwarderChanged", + type: "event", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + { + internalType: "int24", + name: "lowerTick", + type: "int24", + }, + { + internalType: "int24", + name: "upperTick", + type: "int24", + }, + { + internalType: "uint256", + name: "minBase", + type: "uint256", + }, + { + internalType: "uint256", + name: "minQuote", + type: "uint256", + }, + { + internalType: "bool", + name: "useTakerBalance", + type: "bool", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct IClearingHouse.AddLiquidityParams", + name: "params", + type: "tuple", + }, + ], + name: "addLiquidity", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + { + internalType: "uint256", + name: "fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "liquidity", + type: "uint256", + }, + ], + internalType: "struct IClearingHouse.AddLiquidityResponse", + name: "response", + type: "tuple", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "maker", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "cancelAllExcessOrders", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "maker", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "bytes32[]", + name: "orderIds", + type: "bytes32[]", + }, + ], + name: "cancelExcessOrders", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "uint256", + name: "oppositeAmountBound", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "bytes32", + name: "referralCode", + type: "bytes32", + }, + ], + internalType: "struct IClearingHouse.ClosePositionParams", + name: "params", + type: "tuple", + }, + ], + name: "closePosition", + outputs: [ + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getAccountBalance", + outputs: [ + { + internalType: "address", + name: "accountBalance", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getAccountValue", + outputs: [ + { + internalType: "int256", + name: "accountValue", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getClearingHouseConfig", + outputs: [ + { + internalType: "address", + name: "clearingHouseConfig", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchange", + outputs: [ + { + internalType: "address", + name: "exchange", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getInsuranceFund", + outputs: [ + { + internalType: "address", + name: "insuranceFund", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getOrderBook", + outputs: [ + { + internalType: "address", + name: "orderBook", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getQuoteToken", + outputs: [ + { + internalType: "address", + name: "quoteToken", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUniswapV3Factory", + outputs: [ + { + internalType: "address", + name: "factory", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getVault", + outputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "uint256", + name: "oppositeAmountBound", + type: "uint256", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + { + internalType: "bool", + name: "isPartialClose", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "liquidate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "bool", + name: "isBaseToQuote", + type: "bool", + }, + { + internalType: "bool", + name: "isExactInput", + type: "bool", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "oppositeAmountBound", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "bytes32", + name: "referralCode", + type: "bytes32", + }, + ], + internalType: "struct IClearingHouse.OpenPositionParams", + name: "params", + type: "tuple", + }, + ], + name: "openPosition", + outputs: [ + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "quitMarket", + outputs: [ + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "int24", + name: "lowerTick", + type: "int24", + }, + { + internalType: "int24", + name: "upperTick", + type: "int24", + }, + { + internalType: "uint128", + name: "liquidity", + type: "uint128", + }, + { + internalType: "uint256", + name: "minBase", + type: "uint256", + }, + { + internalType: "uint256", + name: "minQuote", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct IClearingHouse.RemoveLiquidityParams", + name: "params", + type: "tuple", + }, + ], + name: "removeLiquidity", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + { + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + internalType: "struct IClearingHouse.RemoveLiquidityResponse", + name: "response", + type: "tuple", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "settleAllFunding", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IClearingHouse__factory { + static readonly abi = _abi; + static createInterface(): IClearingHouseInterface { + return new utils.Interface(_abi) as IClearingHouseInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IClearingHouse { + return new Contract(address, _abi, signerOrProvider) as IClearingHouse; + } +} diff --git a/src/typechain-types/factories/contracts/external/perp/IExchange__factory.ts b/src/typechain-types/factories/contracts/external/perp/IExchange__factory.ts new file mode 100644 index 0000000..6a2db25 --- /dev/null +++ b/src/typechain-types/factories/contracts/external/perp/IExchange__factory.ts @@ -0,0 +1,417 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IExchange, + IExchangeInterface, +} from "../../../../contracts/external/perp/IExchange"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "accountBalance", + type: "address", + }, + ], + name: "AccountBalanceChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "markTwap", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "indexTwap", + type: "uint256", + }, + ], + name: "FundingUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "uint24", + name: "maxTickCrossedWithinBlock", + type: "uint24", + }, + ], + name: "MaxTickCrossedWithinBlockChanged", + type: "event", + }, + { + inputs: [], + name: "getAccountBalance", + outputs: [ + { + internalType: "address", + name: "accountBalance", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getAllPendingFundingPayment", + outputs: [ + { + internalType: "int256", + name: "pendingFundingPayment", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getClearingHouseConfig", + outputs: [ + { + internalType: "address", + name: "clearingHouse", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getMaxTickCrossedWithinBlock", + outputs: [ + { + internalType: "uint24", + name: "maxTickCrossedWithinBlock", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getOrderBook", + outputs: [ + { + internalType: "address", + name: "orderBook", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getPendingFundingPayment", + outputs: [ + { + internalType: "int256", + name: "pendingFundingPayment", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "int256", + name: "base", + type: "int256", + }, + { + internalType: "int256", + name: "quote", + type: "int256", + }, + ], + internalType: "struct IExchange.RealizePnlParams", + name: "params", + type: "tuple", + }, + ], + name: "getPnlToBeRealized", + outputs: [ + { + internalType: "int256", + name: "pnlToBeRealized", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "uint32", + name: "twapInterval", + type: "uint32", + }, + ], + name: "getSqrtMarkTwapX96", + outputs: [ + { + internalType: "uint160", + name: "sqrtMarkTwapX96", + type: "uint160", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "isOverPriceSpread", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "settleFunding", + outputs: [ + { + internalType: "int256", + name: "fundingPayment", + type: "int256", + }, + { + components: [ + { + internalType: "int256", + name: "twPremiumX96", + type: "int256", + }, + { + internalType: "int256", + name: "twPremiumDivBySqrtPriceX96", + type: "int256", + }, + ], + internalType: "struct Growth", + name: "fundingGrowthGlobal", + type: "tuple", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "bool", + name: "isBaseToQuote", + type: "bool", + }, + { + internalType: "bool", + name: "isExactInput", + type: "bool", + }, + { + internalType: "bool", + name: "isClose", + type: "bool", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + ], + internalType: "struct IExchange.SwapParams", + name: "params", + type: "tuple", + }, + ], + name: "swap", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "base", + type: "uint256", + }, + { + internalType: "uint256", + name: "quote", + type: "uint256", + }, + { + internalType: "int256", + name: "exchangedPositionSize", + type: "int256", + }, + { + internalType: "int256", + name: "exchangedPositionNotional", + type: "int256", + }, + { + internalType: "uint256", + name: "fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "insuranceFundFee", + type: "uint256", + }, + { + internalType: "int256", + name: "pnlToBeRealized", + type: "int256", + }, + { + internalType: "uint256", + name: "sqrtPriceAfterX96", + type: "uint256", + }, + { + internalType: "int24", + name: "tick", + type: "int24", + }, + { + internalType: "bool", + name: "isPartialClose", + type: "bool", + }, + ], + internalType: "struct IExchange.SwapResponse", + name: "swapResponse", + type: "tuple", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IExchange__factory { + static readonly abi = _abi; + static createInterface(): IExchangeInterface { + return new utils.Interface(_abi) as IExchangeInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IExchange { + return new Contract(address, _abi, signerOrProvider) as IExchange; + } +} diff --git a/src/typechain-types/factories/contracts/external/perp/IMarketRegistry__factory.ts b/src/typechain-types/factories/contracts/external/perp/IMarketRegistry__factory.ts new file mode 100644 index 0000000..9b1206c --- /dev/null +++ b/src/typechain-types/factories/contracts/external/perp/IMarketRegistry__factory.ts @@ -0,0 +1,331 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IMarketRegistry, + IMarketRegistryInterface, +} from "../../../../contracts/external/perp/IMarketRegistry"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "uint24", + name: "feeRatio", + type: "uint24", + }, + ], + name: "FeeRatioChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "uint24", + name: "feeRatio", + type: "uint24", + }, + ], + name: "InsuranceFundFeeRatioChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "maxOrdersPerMarket", + type: "uint8", + }, + ], + name: "MaxOrdersPerMarketChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: true, + internalType: "uint24", + name: "feeRatio", + type: "uint24", + }, + { + indexed: true, + internalType: "address", + name: "pool", + type: "address", + }, + ], + name: "PoolAdded", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "uint24", + name: "feeRatio", + type: "uint24", + }, + ], + name: "addPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getFeeRatio", + outputs: [ + { + internalType: "uint24", + name: "feeRatio", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getInsuranceFundFeeRatio", + outputs: [ + { + internalType: "uint24", + name: "feeRatio", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getMarketInfo", + outputs: [ + { + components: [ + { + internalType: "address", + name: "pool", + type: "address", + }, + { + internalType: "uint24", + name: "exchangeFeeRatio", + type: "uint24", + }, + { + internalType: "uint24", + name: "uniswapFeeRatio", + type: "uint24", + }, + { + internalType: "uint24", + name: "insuranceFundFeeRatio", + type: "uint24", + }, + ], + internalType: "struct IMarketRegistry.MarketInfo", + name: "info", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getMaxOrdersPerMarket", + outputs: [ + { + internalType: "uint8", + name: "maxOrdersPerMarket", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getQuoteToken", + outputs: [ + { + internalType: "address", + name: "quoteToken", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUniswapV3Factory", + outputs: [ + { + internalType: "address", + name: "factory", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "hasPool", + outputs: [ + { + internalType: "bool", + name: "hasPool", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "uint24", + name: "feeRatio", + type: "uint24", + }, + ], + name: "setFeeRatio", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "uint24", + name: "insuranceFundFeeRatioArg", + type: "uint24", + }, + ], + name: "setInsuranceFundFeeRatio", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint8", + name: "maxOrdersPerMarketArg", + type: "uint8", + }, + ], + name: "setMaxOrdersPerMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IMarketRegistry__factory { + static readonly abi = _abi; + static createInterface(): IMarketRegistryInterface { + return new utils.Interface(_abi) as IMarketRegistryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IMarketRegistry { + return new Contract(address, _abi, signerOrProvider) as IMarketRegistry; + } +} diff --git a/src/typechain-types/factories/contracts/external/perp/IVault__factory.ts b/src/typechain-types/factories/contracts/external/perp/IVault__factory.ts new file mode 100644 index 0000000..1045223 --- /dev/null +++ b/src/typechain-types/factories/contracts/external/perp/IVault__factory.ts @@ -0,0 +1,725 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IVault, + IVaultInterface, +} from "../../../../contracts/external/perp/IVault"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "clearingHouse", + type: "address", + }, + ], + name: "ClearingHouseChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "liquidator", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "collateral", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "repaidSettlementWithoutInsuranceFundFeeX10_S", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "insuranceFundFeeX10_S", + type: "uint256", + }, + { + indexed: false, + internalType: "uint24", + name: "discountRatio", + type: "uint24", + }, + ], + name: "CollateralLiquidated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "collateralManager", + type: "address", + }, + ], + name: "CollateralManagerChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Deposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "trustedForwarder", + type: "address", + }, + ], + name: "TrustedForwarderChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "WETH9", + type: "address", + }, + ], + name: "WETH9Changed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "trader", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Withdrawn", + type: "event", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "depositEther", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "depositEtherFor", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "depositFor", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getAccountBalance", + outputs: [ + { + internalType: "address", + name: "accountBalance", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getAccountValue", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getBalance", + outputs: [ + { + internalType: "int256", + name: "balance", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "getBalanceByToken", + outputs: [ + { + internalType: "int256", + name: "balance", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getClearingHouse", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getClearingHouseConfig", + outputs: [ + { + internalType: "address", + name: "clearingHouseConfig", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCollateralManager", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCollateralMmRatio", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getCollateralTokens", + outputs: [ + { + internalType: "address[]", + name: "collateralTokens", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchange", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getFreeCollateral", + outputs: [ + { + internalType: "uint256", + name: "freeCollateral", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "uint24", + name: "ratio", + type: "uint24", + }, + ], + name: "getFreeCollateralByRatio", + outputs: [ + { + internalType: "int256", + name: "freeCollateralByRatio", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "getFreeCollateralByToken", + outputs: [ + { + internalType: "uint256", + name: "freeCollateral", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getInsuranceFund", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "settlementX10_S", + type: "uint256", + }, + ], + name: "getLiquidatableCollateralBySettlement", + outputs: [ + { + internalType: "uint256", + name: "collateral", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getMarginRequirementForCollateralLiquidation", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "getMaxRepaidSettlementAndLiquidatableCollateral", + outputs: [ + { + internalType: "uint256", + name: "maxRepaidSettlementX10_S", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxLiquidatableCollateral", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "collateral", + type: "uint256", + }, + ], + name: "getRepaidSettlementByCollateral", + outputs: [ + { + internalType: "uint256", + name: "settlementX10_S", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getSettlementToken", + outputs: [ + { + internalType: "address", + name: "settlementToken", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "getSettlementTokenValue", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getTotalDebt", + outputs: [ + { + internalType: "uint256", + name: "debtAmount", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getWETH9", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + ], + name: "isLiquidatable", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "trader", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bool", + name: "isDenominatedInSettlementToken", + type: "bool", + }, + ], + name: "liquidateCollateral", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawEther", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IVault__factory { + static readonly abi = _abi; + static createInterface(): IVaultInterface { + return new utils.Interface(_abi) as IVaultInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): IVault { + return new Contract(address, _abi, signerOrProvider) as IVault; + } +} diff --git a/src/typechain-types/factories/contracts/external/perp/index.ts b/src/typechain-types/factories/contracts/external/perp/index.ts new file mode 100644 index 0000000..2d9d445 --- /dev/null +++ b/src/typechain-types/factories/contracts/external/perp/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IAccountBalance__factory } from "./IAccountBalance__factory"; +export { IClearingHouse__factory } from "./IClearingHouse__factory"; +export { IExchange__factory } from "./IExchange__factory"; +export { IMarketRegistry__factory } from "./IMarketRegistry__factory"; +export { IVault__factory } from "./IVault__factory"; diff --git a/src/typechain-types/factories/contracts/external/rage-trade/IBorrower__factory.ts b/src/typechain-types/factories/contracts/external/rage-trade/IBorrower__factory.ts new file mode 100644 index 0000000..064b05f --- /dev/null +++ b/src/typechain-types/factories/contracts/external/rage-trade/IBorrower__factory.ts @@ -0,0 +1,46 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IBorrower, + IBorrowerInterface, +} from "../../../../contracts/external/rage-trade/IBorrower"; + +const _abi = [ + { + inputs: [], + name: "getUsdcBorrowed", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "harvestFees", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IBorrower__factory { + static readonly abi = _abi; + static createInterface(): IBorrowerInterface { + return new utils.Interface(_abi) as IBorrowerInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IBorrower { + return new Contract(address, _abi, signerOrProvider) as IBorrower; + } +} diff --git a/src/typechain-types/factories/contracts/external/rage-trade/IDnGmxSeniorVault__factory.ts b/src/typechain-types/factories/contracts/external/rage-trade/IDnGmxSeniorVault__factory.ts new file mode 100644 index 0000000..f2d9065 --- /dev/null +++ b/src/typechain-types/factories/contracts/external/rage-trade/IDnGmxSeniorVault__factory.ts @@ -0,0 +1,803 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IDnGmxSeniorVault, + IDnGmxSeniorVaultInterface, +} from "../../../../contracts/external/rage-trade/IDnGmxSeniorVault"; + +const _abi = [ + { + inputs: [], + name: "CallerNotBorrower", + type: "error", + }, + { + inputs: [], + name: "DepositCapExceeded", + type: "error", + }, + { + inputs: [], + name: "InvalidBorrowAmount", + type: "error", + }, + { + inputs: [], + name: "InvalidBorrowerAddress", + type: "error", + }, + { + inputs: [], + name: "InvalidCapUpdate", + type: "error", + }, + { + inputs: [], + name: "MaxUtilizationBreached", + type: "error", + }, + { + anonymous: false, + inputs: [], + name: "AllowancesGranted", + 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: false, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newCap", + type: "uint256", + }, + ], + name: "BorrowCapUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "_newDepositCap", + type: "uint256", + }, + ], + name: "DepositCapUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "contract IBorrower", + name: "dnGmxJuniorVault", + type: "address", + }, + ], + name: "DnGmxJuniorVaultUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "contract IBorrower", + name: "leveragePool", + type: "address", + }, + ], + name: "LeveragePoolUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "maxUtilizationBps", + type: "uint256", + }, + ], + name: "MaxUtilizationBpsUpdated", + 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: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + 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: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "assetTokenAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "borrower", + type: "address", + }, + ], + name: "availableBorrow", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + 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: "amount", + type: "uint256", + }, + ], + name: "borrow", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "depositCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getEthRewardsSplitRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getPriceX128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getVaultMarketValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "repay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "totalManagedAssets", + 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: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IDnGmxSeniorVault__factory { + static readonly abi = _abi; + static createInterface(): IDnGmxSeniorVaultInterface { + return new utils.Interface(_abi) as IDnGmxSeniorVaultInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IDnGmxSeniorVault { + return new Contract(address, _abi, signerOrProvider) as IDnGmxSeniorVault; + } +} diff --git a/src/typechain-types/factories/contracts/external/rage-trade/IERC4626__factory.ts b/src/typechain-types/factories/contracts/external/rage-trade/IERC4626__factory.ts new file mode 100644 index 0000000..ed681dc --- /dev/null +++ b/src/typechain-types/factories/contracts/external/rage-trade/IERC4626__factory.ts @@ -0,0 +1,599 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IERC4626, + IERC4626Interface, +} from "../../../../contracts/external/rage-trade/IERC4626"; + +const _abi = [ + { + 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: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + 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: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + 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: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "assetTokenAddress", + type: "address", + }, + ], + stateMutability: "view", + 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: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "totalManagedAssets", + 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: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IERC4626__factory { + static readonly abi = _abi; + static createInterface(): IERC4626Interface { + return new utils.Interface(_abi) as IERC4626Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IERC4626 { + return new Contract(address, _abi, signerOrProvider) as IERC4626; + } +} diff --git a/src/typechain-types/factories/contracts/external/rage-trade/index.ts b/src/typechain-types/factories/contracts/external/rage-trade/index.ts new file mode 100644 index 0000000..af28f44 --- /dev/null +++ b/src/typechain-types/factories/contracts/external/rage-trade/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IBorrower__factory } from "./IBorrower__factory"; +export { IDnGmxSeniorVault__factory } from "./IDnGmxSeniorVault__factory"; +export { IERC4626__factory } from "./IERC4626__factory"; diff --git a/src/typechain-types/factories/contracts/external/weth/IWETH9__factory.ts b/src/typechain-types/factories/contracts/external/weth/IWETH9__factory.ts new file mode 100644 index 0000000..0468a6b --- /dev/null +++ b/src/typechain-types/factories/contracts/external/weth/IWETH9__factory.ts @@ -0,0 +1,226 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IWETH9, + IWETH9Interface, +} from "../../../../contracts/external/weth/IWETH9"; + +const _abi = [ + { + 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: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + 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: "deposit", + outputs: [], + stateMutability: "payable", + 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: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IWETH9__factory { + static readonly abi = _abi; + static createInterface(): IWETH9Interface { + return new utils.Interface(_abi) as IWETH9Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): IWETH9 { + return new Contract(address, _abi, signerOrProvider) as IWETH9; + } +} diff --git a/src/typechain-types/factories/contracts/external/weth/index.ts b/src/typechain-types/factories/contracts/external/weth/index.ts new file mode 100644 index 0000000..d3b0ed8 --- /dev/null +++ b/src/typechain-types/factories/contracts/external/weth/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IWETH9__factory } from "./IWETH9__factory"; diff --git a/src/typechain-types/factories/contracts/governance/UXDCouncilToken__factory.ts b/src/typechain-types/factories/contracts/governance/UXDCouncilToken__factory.ts new file mode 100644 index 0000000..cf9678a --- /dev/null +++ b/src/typechain-types/factories/contracts/governance/UXDCouncilToken__factory.ts @@ -0,0 +1,715 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + UXDCouncilToken, + UXDCouncilTokenInterface, +} from "../../../contracts/governance/UXDCouncilToken"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + 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: "delegator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "fromDelegate", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "toDelegate", + type: "address", + }, + ], + name: "DelegateChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "previousBalance", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newBalance", + type: "uint256", + }, + ], + name: "DelegateVotesChanged", + 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: 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", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + 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: "address", + name: "account", + type: "address", + }, + { + internalType: "uint32", + name: "pos", + type: "uint32", + }, + ], + name: "checkpoints", + outputs: [ + { + components: [ + { + internalType: "uint32", + name: "fromBlock", + type: "uint32", + }, + { + internalType: "uint224", + name: "votes", + type: "uint224", + }, + ], + internalType: "struct ERC20Votes.Checkpoint", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + 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: "address", + name: "delegatee", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegatee", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "delegateBySig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "delegates", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastTotalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + 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: "to", + type: "address", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "numCheckpoints", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + 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: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x6101406040523480156200001257600080fd5b506040518060400160405280600a81526020016915561110dbdd5b98da5b60b21b81525080604051806040016040528060018152602001603160f81b815250604051806040016040528060118152602001702aac221021b7bab731b4b6102a37b5b2b760791b8152506040518060400160405280600a81526020016915561110dbdd5b98da5b60b21b815250620000b8620000b26200017a60201b60201c565b6200017e565b6004620000c68382620008f7565b506005620000d58282620008f7565b5050825160209384012082519284019290922060e08390526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818901819052818301979097526060810194909452608080850193909352308483018190528151808603909301835260c094850190915281519190960120905292909252610120525062000174905033620001ce565b62000b43565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031633146200022e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6200025481620002416012600a62000ad6565b6200024e90600162000ae7565b62000257565b50565b6200026e82826200027260201b62000cb31760201c565b5050565b6200028982826200032560201b62000d501760201c565b6001600160e01b036200029d620004148216565b1115620003065760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840162000225565b6200031f600a62000e3b6200041a60201b178362000431565b50505050565b6001600160a01b0382166200037d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000225565b806003600082825462000391919062000b01565b90915550506001600160a01b03821660009081526001602052604081208054839290620003c090849062000b01565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36200026e60008383620005e8565b60035490565b600062000428828462000b01565b90505b92915050565b8254600090819080156200048357856200044d60018362000b17565b8154811062000460576200046062000b2d565b60009182526020909120015464010000000090046001600160e01b031662000486565b60005b6001600160e01b031692506200049d83858760201c565b9150600081118015620004e157504386620004ba60018462000b17565b81548110620004cd57620004cd62000b2d565b60009182526020909120015463ffffffff16145b156200055557620004fd826200060060201b62000e471760201c565b866200050b60018462000b17565b815481106200051e576200051e62000b2d565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b03160217905550620005da565b85604051806040016040528062000577436200066f60201b62000eca1760201c565b63ffffffff16815260200162000598856200060060201b62000e471760201c565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b505050565b620005e3838383620006d660201b62000f461760201c565b60006001600160e01b038211156200066b5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840162000225565b5090565b600063ffffffff8211156200066b5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840162000225565b620006ee838383620005e360201b62000f781760201c565b6001600160a01b03838116600090815260086020526040808220548584168352912054620005e3929182169116838183148015906200072d5750600081115b15620005e3576001600160a01b03831615620007ba576001600160a01b03831660009081526009602090815260408220829162000777919062000845901b62000f7d178562000431565b91509150846001600160a01b031660008051602062002cbb8339815191528383604051620007af929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615620005e3576001600160a01b038216600090815260096020908152604082208291620007fe91906200041a901b62000e3b178562000431565b91509150836001600160a01b031660008051602062002cbb833981519152838360405162000836929190918252602082015260400190565b60405180910390a25050505050565b600062000428828462000b17565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200087e57607f821691505b6020821081036200089f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005e357600081815260208120601f850160051c81016020861015620008ce5750805b601f850160051c820191505b81811015620008ef57828155600101620008da565b505050505050565b81516001600160401b0381111562000913576200091362000853565b6200092b8162000924845462000869565b84620008a5565b602080601f8311600181146200096357600084156200094a5750858301515b600019600386901b1c1916600185901b178555620008ef565b600085815260208120601f198616915b82811015620009945788860151825594840194600190910190840162000973565b5085821015620009b35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000a1a578160001904821115620009fe57620009fe620009c3565b8085161562000a0c57918102915b93841c9390800290620009de565b509250929050565b60008262000a33575060016200042b565b8162000a42575060006200042b565b816001811462000a5b576002811462000a665762000a86565b60019150506200042b565b60ff84111562000a7a5762000a7a620009c3565b50506001821b6200042b565b5060208310610133831016604e8410600b841016171562000aab575081810a6200042b565b62000ab78383620009d9565b806000190482111562000ace5762000ace620009c3565b029392505050565b60006200042860ff84168362000a22565b80820281158282048414176200042b576200042b620009c3565b808201808211156200042b576200042b620009c3565b818103818111156200042b576200042b620009c3565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e051610100516101205161212862000b936000396000611414015260006114630152600061143e01526000611397015260006113c1015260006113eb01526121286000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c8063715018a6116100ee578063a457c2d711610097578063d505accf11610071578063d505accf146103a6578063dd62ed3e146103b9578063f1127ed8146103f2578063f2fde38b1461042f57600080fd5b8063a457c2d71461036d578063a9059cbb14610380578063c3cda5201461039357600080fd5b80638e539e8c116100c85780638e539e8c1461033f57806395d89b41146103525780639ab24eb01461035a57600080fd5b8063715018a6146103135780637ecebe001461031b5780638da5cb5b1461032e57600080fd5b8063395093511161015b5780635c19a95c116101355780635c19a95c1461029a5780636a627842146102af5780636fcfff45146102c257806370a08231146102ea57600080fd5b806339509351146102305780633a46b1a814610243578063587cde1e1461025657600080fd5b806323b872dd1161018c57806323b872dd14610206578063313ce567146102195780633644e5151461022857600080fd5b806306fdde03146101b3578063095ea7b3146101d157806318160ddd146101f4575b600080fd5b6101bb610442565b6040516101c89190611ce0565b60405180910390f35b6101e46101df366004611d4a565b6104d4565b60405190151581526020016101c8565b6003545b6040519081526020016101c8565b6101e4610214366004611d74565b6104ee565b604051601281526020016101c8565b6101f8610512565b6101e461023e366004611d4a565b610521565b6101f8610251366004611d4a565b610560565b610282610264366004611db0565b6001600160a01b039081166000908152600860205260409020541690565b6040516001600160a01b0390911681526020016101c8565b6102ad6102a8366004611db0565b6105df565b005b6102ad6102bd366004611db0565b6105ec565b6102d56102d0366004611db0565b610666565b60405163ffffffff90911681526020016101c8565b6101f86102f8366004611db0565b6001600160a01b031660009081526001602052604090205490565b6102ad610688565b6101f8610329366004611db0565b6106ee565b6000546001600160a01b0316610282565b6101f861034d366004611dcb565b61070c565b6101bb610768565b6101f8610368366004611db0565b610777565b6101e461037b366004611d4a565b6107fe565b6101e461038e366004611d4a565b6108a8565b6102ad6103a1366004611df5565b6108b6565b6102ad6103b4366004611e4d565b6109ec565b6101f86103c7366004611eb7565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610405610400366004611eea565b610b50565b60408051825163ffffffff1681526020928301516001600160e01b031692810192909252016101c8565b6102ad61043d366004611db0565b610bd4565b60606004805461045190611f2a565b80601f016020809104026020016040519081016040528092919081815260200182805461047d90611f2a565b80156104ca5780601f1061049f576101008083540402835291602001916104ca565b820191906000526020600020905b8154815290600101906020018083116104ad57829003601f168201915b5050505050905090565b6000336104e2818585610f89565b60019150505b92915050565b6000336104fc8582856110e1565b61050785858561116d565b506001949350505050565b600061051c61138a565b905090565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091906104e2908290869061055b908790611f74565b610f89565b60004382106105b65760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e65640060448201526064015b60405180910390fd5b6001600160a01b03831660009081526009602052604090206105d890836114b1565b9392505050565b6105e9338261156e565b50565b6000546001600160a01b031633146106465760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ad565b6105e9816106566012600a61206b565b61066190600161207a565b611600565b6001600160a01b0381166000908152600960205260408120546104e890610eca565b6000546001600160a01b031633146106e25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ad565b6106ec600061160a565b565b6001600160a01b0381166000908152600660205260408120546104e8565b600043821061075d5760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e65640060448201526064016105ad565b6104e8600a836114b1565b60606005805461045190611f2a565b6001600160a01b03811660009081526009602052604081205480156107eb576001600160a01b03831660009081526009602052604090206107b9600183612091565b815481106107c9576107c96120a4565b60009182526020909120015464010000000090046001600160e01b03166107ee565b60005b6001600160e01b03169392505050565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091908381101561089b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016105ad565b6105078286868403610f89565b6000336104e281858561116d565b834211156109065760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e6174757265206578706972656400000060448201526064016105ad565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610980906109789060a00160405160208183030381529060405280519060200120611672565b8585856116db565b905061098b81611703565b86146109d95760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e63650000000000000060448201526064016105ad565b6109e3818861156e565b50505050505050565b83421115610a3c5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016105ad565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a6b8c611703565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610ac682611672565b90506000610ad6828787876116db565b9050896001600160a01b0316816001600160a01b031614610b395760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016105ad565b610b448a8a8a610f89565b50505050505050505050565b60408051808201909152600080825260208201526001600160a01b0383166000908152600960205260409020805463ffffffff8416908110610b9457610b946120a4565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ad565b6001600160a01b038116610caa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ad565b6105e98161160a565b610cbd8282610d50565b6003546001600160e01b031015610d3c5760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f7465730000000000000000000000000000000060648201526084016105ad565b610d4a600a610e3b8361172b565b50505050565b6001600160a01b038216610da65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105ad565b8060036000828254610db89190611f74565b90915550506001600160a01b03821660009081526001602052604081208054839290610de5908490611f74565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610e37600083836118a4565b5050565b60006105d88284611f74565b60006001600160e01b03821115610ec65760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f323420626974730000000000000000000000000000000000000000000000000060648201526084016105ad565b5090565b600063ffffffff821115610ec65760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016105ad565b6001600160a01b03838116600090815260086020526040808220548584168352912054610f78929182169116836118af565b505050565b60006105d88284612091565b6001600160a01b0383166110045760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105ad565b6001600160a01b0382166110805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105ad565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600260209081526040808320938616835292905220546000198114610d4a57818110156111605760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105ad565b610d4a8484848403610f89565b6001600160a01b0383166111e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105ad565b6001600160a01b0382166112655760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105ad565b6001600160a01b038316600090815260016020526040902054818110156112f45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016105ad565b6001600160a01b0380851660009081526001602052604080822085850390559185168152908120805484929061132b908490611f74565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161137791815260200190565b60405180910390a3610d4a8484846118a4565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113e357507f000000000000000000000000000000000000000000000000000000000000000046145b1561140d57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b8154600090815b818110156115155760006114cc82846119ec565b9050848682815481106114e1576114e16120a4565b60009182526020909120015463ffffffff1611156115015780925061150f565b61150c816001611f74565b91505b506114b8565b81156115595784611527600184612091565b81548110611537576115376120a4565b60009182526020909120015464010000000090046001600160e01b031661155c565b60005b6001600160e01b031695945050505050565b6001600160a01b03828116600081815260086020818152604080842080546001845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610d4a8284836118af565b610e378282610cb3565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006104e861167f61138a565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006116ec87878787611a07565b915091506116f981611af4565b5095945050505050565b6001600160a01b03811660009081526006602052604090208054600181018255905b50919050565b8254600090819080156117765785611744600183612091565b81548110611754576117546120a4565b60009182526020909120015464010000000090046001600160e01b0316611779565b60005b6001600160e01b0316925061179283858763ffffffff16565b91506000811180156117d0575043866117ac600184612091565b815481106117bc576117bc6120a4565b60009182526020909120015463ffffffff16145b15611830576117de82610e47565b866117ea600184612091565b815481106117fa576117fa6120a4565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b0316021790555061189b565b85604051806040016040528061184543610eca565b63ffffffff16815260200161185985610e47565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b610f78838383610f46565b816001600160a01b0316836001600160a01b0316141580156118d15750600081115b15610f78576001600160a01b0383161561195f576001600160a01b0383166000908152600960205260408120819061190c90610f7d8561172b565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611954929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610f78576001600160a01b0382166000908152600960205260408120819061199590610e3b8561172b565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516119dd929190918252602082015260400190565b60405180910390a25050505050565b60006119fb60028484186120ba565b6105d890848416611f74565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611a3e5750600090506003611aeb565b8460ff16601b14158015611a5657508460ff16601c14155b15611a675750600090506004611aeb565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611abb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611ae457600060019250925050611aeb565b9150600090505b94509492505050565b6000816004811115611b0857611b086120dc565b03611b105750565b6001816004811115611b2457611b246120dc565b03611b715760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105ad565b6002816004811115611b8557611b856120dc565b03611bd25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105ad565b6003816004811115611be657611be66120dc565b03611c595760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016105ad565b6004816004811115611c6d57611c6d6120dc565b036105e95760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016105ad565b600060208083528351808285015260005b81811015611d0d57858101830151858201604001528201611cf1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611d4557600080fd5b919050565b60008060408385031215611d5d57600080fd5b611d6683611d2e565b946020939093013593505050565b600080600060608486031215611d8957600080fd5b611d9284611d2e565b9250611da060208501611d2e565b9150604084013590509250925092565b600060208284031215611dc257600080fd5b6105d882611d2e565b600060208284031215611ddd57600080fd5b5035919050565b803560ff81168114611d4557600080fd5b60008060008060008060c08789031215611e0e57600080fd5b611e1787611d2e565b95506020870135945060408701359350611e3360608801611de4565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215611e6857600080fd5b611e7188611d2e565b9650611e7f60208901611d2e565b95506040880135945060608801359350611e9b60808901611de4565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611eca57600080fd5b611ed383611d2e565b9150611ee160208401611d2e565b90509250929050565b60008060408385031215611efd57600080fd5b611f0683611d2e565b9150602083013563ffffffff81168114611f1f57600080fd5b809150509250929050565b600181811c90821680611f3e57607f821691505b60208210810361172557634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156104e8576104e8611f5e565b600181815b80851115611fc2578160001904821115611fa857611fa8611f5e565b80851615611fb557918102915b93841c9390800290611f8c565b509250929050565b600082611fd9575060016104e8565b81611fe6575060006104e8565b8160018114611ffc576002811461200657612022565b60019150506104e8565b60ff84111561201757612017611f5e565b50506001821b6104e8565b5060208310610133831016604e8410600b8410161715612045575081810a6104e8565b61204f8383611f87565b806000190482111561206357612063611f5e565b029392505050565b60006105d860ff841683611fca565b80820281158282048414176104e8576104e8611f5e565b818103818111156104e8576104e8611f5e565b634e487b7160e01b600052603260045260246000fd5b6000826120d757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212204b007f3fe2affa2f12ffcdab7cd496845b02f4c33e9b0ea4b2952fa1434aeb9364736f6c63430008110033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724"; + +type UXDCouncilTokenConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UXDCouncilTokenConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UXDCouncilToken__factory extends ContractFactory { + constructor(...args: UXDCouncilTokenConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): UXDCouncilToken { + return super.attach(address) as UXDCouncilToken; + } + override connect(signer: Signer): UXDCouncilToken__factory { + return super.connect(signer) as UXDCouncilToken__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UXDCouncilTokenInterface { + return new utils.Interface(_abi) as UXDCouncilTokenInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXDCouncilToken { + return new Contract(address, _abi, signerOrProvider) as UXDCouncilToken; + } +} diff --git a/src/typechain-types/factories/contracts/governance/UXDGovernor__factory.ts b/src/typechain-types/factories/contracts/governance/UXDGovernor__factory.ts new file mode 100644 index 0000000..abf5372 --- /dev/null +++ b/src/typechain-types/factories/contracts/governance/UXDGovernor__factory.ts @@ -0,0 +1,1352 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + UXDGovernor, + UXDGovernorInterface, +} from "../../../contracts/governance/UXDGovernor"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract IVotes", + name: "_token", + type: "address", + }, + { + internalType: "contract TimelockController", + name: "_timelock", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "Empty", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "GovERC20ApprovalFailed", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "GovERC20TransferFailed", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalCanceled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + indexed: false, + internalType: "string[]", + name: "signatures", + type: "string[]", + }, + { + indexed: false, + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + indexed: false, + internalType: "uint256", + name: "startBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endBlock", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "eta", + type: "uint256", + }, + ], + name: "ProposalQueued", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldProposalThreshold", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newProposalThreshold", + type: "uint256", + }, + ], + name: "ProposalThresholdSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldQuorumNumerator", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newQuorumNumerator", + type: "uint256", + }, + ], + name: "QuorumNumeratorUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "oldTimelock", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newTimelock", + type: "address", + }, + ], + name: "TimelockChange", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "VoteCast", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + indexed: false, + internalType: "uint256", + name: "weight", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "reason", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "VoteCastWithParams", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldVotingDelay", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newVotingDelay", + type: "uint256", + }, + ], + name: "VotingDelaySet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldVotingPeriod", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newVotingPeriod", + type: "uint256", + }, + ], + name: "VotingPeriodSet", + type: "event", + }, + { + inputs: [], + name: "BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "COUNTING_MODE", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "EXTENDED_BALLOT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approveERC20", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + ], + name: "castVote", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + ], + name: "castVoteWithReason", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "castVoteWithReasonAndParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "uint8", + name: "support", + type: "uint8", + }, + { + internalType: "string", + name: "reason", + type: "string", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "castVoteWithReasonAndParamsBySig", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "execute", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + ], + name: "getVotesWithParams", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "hashProposal", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalDeadline", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalEta", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalSnapshot", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalThreshold", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "proposalVotes", + outputs: [ + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "abstainVotes", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "calldatas", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "descriptionHash", + type: "bytes32", + }, + ], + name: "queue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "quorum", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quorumDenominator", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quorumNumerator", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "relay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newProposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newVotingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newVotingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum IGovernor.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IVotes", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferERC20", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newQuorumNumerator", + type: "uint256", + }, + ], + name: "updateQuorumNumerator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract TimelockController", + name: "newTimelock", + type: "address", + }, + ], + name: "updateTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingDelay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "votingPeriod", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +const _bytecode = + "0x6101606040523480156200001257600080fd5b50604051620046c2380380620046c28339810160408190526200003591620003f5565b601d6101906001836005866040518060400160405280600b81526020016a2aac2223b7bb32b93737b960a91b81525080620000756200016560201b60201c565b815160209283012081519183019190912060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818801819052818301969096526060810194909452608080850193909352308483018190528151808603909301835260c094850190915281519190950120905291909152610120526000620001128282620004d9565b50506001600160a01b0316610140526200012c8162000180565b5062000138816200024e565b506200014483620002b7565b6200014f82620002f8565b6200015a816200039b565b5050505050620005a5565b6040805180820190915260018152603160f81b602082015290565b6064811115620002095760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a4015b60405180910390fd5b600480549082905560408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b600554604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600580546001600160a01b0319166001600160a01b0392909216919091179055565b60085460408051918252602082018390527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600855565b600081116200035a5760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f7253657474696e67733a20766f74696e6720706572696f6420604482015266746f6f206c6f7760c81b606482015260840162000200565b60095460408051918252602082018390527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600955565b600a5460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600a55565b6001600160a01b0381168114620003f257600080fd5b50565b600080604083850312156200040957600080fd5b82516200041681620003dc565b60208401519092506200042981620003dc565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200045f57607f821691505b6020821081036200048057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004d457600081815260208120601f850160051c81016020861015620004af5750805b601f850160051c820191505b81811015620004d057828155600101620004bb565b5050505b505050565b81516001600160401b03811115620004f557620004f562000434565b6200050d816200050684546200044a565b8462000486565b602080601f8311600181146200054557600084156200052c5750858301515b600019600386901b1c1916600185901b178555620004d0565b600085815260208120601f198616915b82811015620005765788860151825594840194600190910190840162000555565b5085821015620005955787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516101005161012051610140516140b46200060e6000396000818161092d0152818161248c01526126ef015260006128cf0152600061291e015260006128f9015260006128520152600061287c015260006128a601526140b46000f3fe6080604052600436106102d55760003560e01c806397c3d33411610179578063c28bc2fa116100d6578063ea0217cf1161008a578063f23a6e6111610064578063f23a6e61146108b6578063f8ce560a146108fb578063fc0c546a1461091b57600080fd5b8063ea0217cf14610856578063eb9019d414610876578063ece40cc11461089657600080fd5b8063d33219b4116100bb578063d33219b4146107db578063dd4e2ba51461080d578063deaaa7cc1461082257600080fd5b8063c28bc2fa1461079b578063c59057e4146107bb57600080fd5b8063a8e5e4aa1161012d578063b58131b011610112578063b58131b014610721578063bc197c8114610736578063c01f9e371461077b57600080fd5b8063a8e5e4aa146106e1578063ab58fb8e1461070157600080fd5b80639db5dbe41161015e5780639db5dbe41461068c578063a7713a70146106ac578063a890c910146106c157600080fd5b806397c3d334146106585780639a802a6d1461066c57600080fd5b80633932abb11161023257806354fd4d50116101e657806370b0f660116101c057806370b0f660146105f85780637b3c71d3146106185780637d5e81e21461063857600080fd5b806354fd4d501461057257806356781388146105b85780635f398a14146105d857600080fd5b80633e4f49e6116102175780633e4f49e6146104d057806343859632146104fd578063544ffc9c1461051d57600080fd5b80633932abb11461049b5780633bccf4fd146104b057600080fd5b8063150b7a02116102895780632656227d1161026e5780632656227d146104345780632d63f693146104475780632fe3e2611461046757600080fd5b8063150b7a02146103b7578063160cbed71461041457600080fd5b806303420181116102ba578063034201811461035557806306f3f9e61461037557806306fdde031461039557600080fd5b806301ffc9a7146102fd57806302a251a31461033257600080fd5b366102f857306102e361094f565b6001600160a01b0316146102f657600080fd5b005b600080fd5b34801561030957600080fd5b5061031d61031836600461323f565b610968565b60405190151581526020015b60405180910390f35b34801561033e57600080fd5b50610347610979565b604051908152602001610329565b34801561036157600080fd5b50610347610370366004613387565b610984565b34801561038157600080fd5b506102f661039036600461342e565b610a7c565b3480156103a157600080fd5b506103aa610b3b565b6040516103299190613497565b3480156103c357600080fd5b506103fb6103d23660046134bf565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b03199091168152602001610329565b34801561042057600080fd5b5061034761042f36600461369e565b610bcd565b61034761044236600461369e565b610e6e565b34801561045357600080fd5b5061034761046236600461342e565b610fb1565b34801561047357600080fd5b506103477fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8881565b3480156104a757600080fd5b50610347610fea565b3480156104bc57600080fd5b506103476104cb36600461372e565b610ff5565b3480156104dc57600080fd5b506104f06104eb36600461342e565b61106b565b6040516103299190613792565b34801561050957600080fd5b5061031d6105183660046137ba565b611076565b34801561052957600080fd5b5061055761053836600461342e565b6000908152600760205260409020805460018201546002909201549092565b60408051938452602084019290925290820152606001610329565b34801561057e57600080fd5b5060408051808201909152600181527f310000000000000000000000000000000000000000000000000000000000000060208201526103aa565b3480156105c457600080fd5b506103476105d33660046137ea565b6110a7565b3480156105e457600080fd5b506103476105f3366004613816565b6110d0565b34801561060457600080fd5b506102f661061336600461342e565b61111a565b34801561062457600080fd5b5061034761063336600461389a565b6111d1565b34801561064457600080fd5b506103476106533660046138f4565b611223565b34801561066457600080fd5b506064610347565b34801561067857600080fd5b506103476106873660046139a9565b61123a565b34801561069857600080fd5b506102f66106a7366004613a02565b611247565b3480156106b857600080fd5b50600454610347565b3480156106cd57600080fd5b506102f66106dc366004613a43565b6113d6565b3480156106ed57600080fd5b506102f66106fc366004613a02565b61148d565b34801561070d57600080fd5b5061034761071c36600461342e565b611617565b34801561072d57600080fd5b506103476116ca565b34801561074257600080fd5b506103fb610751366004613a60565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561078757600080fd5b5061034761079636600461342e565b6116d5565b3480156107a757600080fd5b506102f66107b6366004613af4565b611705565b3480156107c757600080fd5b506103476107d636600461369e565b6117fc565b3480156107e757600080fd5b506005546001600160a01b03165b6040516001600160a01b039091168152602001610329565b34801561081957600080fd5b506103aa611836565b34801561082e57600080fd5b506103477f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f81565b34801561086257600080fd5b506102f661087136600461342e565b611872565b34801561088257600080fd5b50610347610891366004613b38565b611929565b3480156108a257600080fd5b506102f66108b136600461342e565b611935565b3480156108c257600080fd5b506103fb6108d1366004613b64565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b34801561090757600080fd5b5061034761091636600461342e565b6119ec565b34801561092757600080fd5b506107f57f000000000000000000000000000000000000000000000000000000000000000081565b60006109636005546001600160a01b031690565b905090565b6000610973826119f7565b92915050565b600061096360095490565b600080610a28610a207fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888c8c8c8c6040516109c0929190613bcd565b60405180910390208b80519060200120604051602001610a05959493929190948552602085019390935260ff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120611a35565b868686611a9e565b9050610a6e8a828b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d9250611abc915050565b9a9950505050505050505050565b610a8461094f565b6001600160a01b0316336001600160a01b031614610ae95760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e6365000000000000000060448201526064015b60405180910390fd5b30610af261094f565b6001600160a01b031614610b2f5760008036604051610b12929190613bcd565b604051809103902090505b80610b286002611c3c565b03610b1d57505b610b3881611cf9565b50565b606060008054610b4a90613bdd565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7690613bdd565b8015610bc35780601f10610b9857610100808354040283529160200191610bc3565b820191906000526020600020905b815481529060010190602001808311610ba657829003601f168201915b5050505050905090565b600080610bdc868686866117fc565b90506004610be98261106b565b6007811115610bfa57610bfa61377c565b14610c6d5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f742073756363657373667560448201527f6c000000000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b600554604080517ff27a0c9200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163f27a0c929160048083019260209291908290030181865afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf49190613c17565b6005546040517fb1c5f4270000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063b1c5f42790610d47908a908a908a906000908b90600401613cf9565b602060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190613c17565b6000838152600660205260408082209290925560055491517f8f2a0bb00000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691638f2a0bb091610dec918b918b918b91908b908990600401613d47565b600060405180830381600087803b158015610e0657600080fd5b505af1158015610e1a573d6000803e3d6000fd5b505050507f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda2892828242610e4c9190613db5565b6040805192835260208301919091520160405180910390a15095945050505050565b600080610e7d868686866117fc565b90506000610e8a8261106b565b90506004816007811115610ea057610ea061377c565b1480610ebd57506005816007811115610ebb57610ebb61377c565b145b610f2f5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f742073756363657373667560448201527f6c000000000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b600082815260016020818152604092839020600201805460ff191690921790915590518381527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f910160405180910390a1610f8d8288888888611ddb565b610f9a8288888888611e7c565b610fa78288888888611e89565b5095945050505050565b600081815260016020908152604080832081519283019091525467ffffffffffffffff16908190525b67ffffffffffffffff1692915050565b600061096360085490565b604080517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f602082015290810186905260ff85166060820152600090819061104390610a2090608001610a05565b905061106087828860405180602001604052806000815250611ecf565b979650505050505050565b600061097382611ef2565b60008281526007602090815260408083206001600160a01b038516845260030190915281205460ff165b9392505050565b6000803390506110c884828560405180602001604052806000815250611ecf565b949350505050565b60008033905061106087828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611abc915050565b61112261094f565b6001600160a01b0316336001600160a01b0316146111825760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610ae0565b3061118b61094f565b6001600160a01b0316146111c857600080366040516111ab929190613bcd565b604051809103902090505b806111c16002611c3c565b036111b657505b610b388161206e565b60008033905061121986828787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ecf92505050565b9695505050505050565b6000611231858585856120af565b95945050505050565b60006110c884848461244a565b61124f61094f565b6001600160a01b0316336001600160a01b0316146112af5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610ae0565b306112b861094f565b6001600160a01b0316146112f557600080366040516112d8929190613bcd565b604051809103902090505b806112ee6002611c3c565b036112e357505b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af115801561135d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113819190613dc8565b6113d1576040517fcabd8de90000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610ae0565b505050565b6113de61094f565b6001600160a01b0316336001600160a01b03161461143e5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610ae0565b3061144761094f565b6001600160a01b0316146114845760008036604051611467929190613bcd565b604051809103902090505b8061147d6002611c3c565b0361147257505b610b38816124f9565b61149561094f565b6001600160a01b0316336001600160a01b0316146114f55760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610ae0565b306114fe61094f565b6001600160a01b03161461153b576000803660405161151e929190613bcd565b604051809103902090505b806115346002611c3c565b0361152957505b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af11580156115a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c79190613dc8565b6113d1576040517f678e56a20000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301528316602482015260448101829052606401610ae0565b6005546000828152600660205260408082205490517fd45c44350000000000000000000000000000000000000000000000000000000081526004810191909152909182916001600160a01b039091169063d45c443590602401602060405180830381865afa15801561168d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b19190613c17565b9050806001146116c157806110a0565b60009392505050565b6000610963600a5490565b600081815260016020818152604080842081519283019091529091015467ffffffffffffffff1690819052610fda565b61170d61094f565b6001600160a01b0316336001600160a01b03161461176d5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610ae0565b3061177661094f565b6001600160a01b0316146117b35760008036604051611796929190613bcd565b604051809103902090505b806117ac6002611c3c565b036117a157505b6117f58483838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925061257a915050565b5050505050565b6000848484846040516020016118159493929190613dea565b60408051601f19818403018152919052805160209091012095945050505050565b60606109636040805180820190915260208082527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e9082015290565b61187a61094f565b6001600160a01b0316336001600160a01b0316146118da5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610ae0565b306118e361094f565b6001600160a01b0316146119205760008036604051611903929190613bcd565b604051809103902090505b806119196002611c3c565b0361190e57505b610b38816125a0565b60006110a08383612657565b61193d61094f565b6001600160a01b0316336001600160a01b03161461199d5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610ae0565b306119a661094f565b6001600160a01b0316146119e357600080366040516119c6929190613bcd565b604051809103902090505b806119dc6002611c3c565b036119d157505b610b3881612678565b6000610973826126b9565b60006001600160e01b031982167f6e665ced000000000000000000000000000000000000000000000000000000001480610973575061097382612776565b6000610973611a42612845565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611aaf8787878761296c565b91509150610fa781612a59565b6000858152600160208190526040822090611ad68861106b565b6007811115611ae757611ae761377c565b14611b5a5760405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201527f69766500000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b6040805160208101909152815467ffffffffffffffff1690819052600090611b849088908661244a565b9050611b938888888488612c45565b8351600003611be857866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda489888489604051611bdb9493929190613e35565b60405180910390a2611060565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb87128988848989604051611c29959493929190613e5d565b60405180910390a2979650505050505050565b6000611c648254600f81810b700100000000000000000000000000000000909204900b131590565b15611c9b576040517f3db2a12a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b508054600f0b6000818152600180840160205260408220805492905583547fffffffffffffffffffffffffffffffff000000000000000000000000000000001692016fffffffffffffffffffffffffffffffff169190911790915590565b6064811115611d965760405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e6160648201527f746f720000000000000000000000000000000000000000000000000000000000608482015260a401610ae0565b600480549082905560408051828152602081018490527f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997910160405180910390a15050565b30611de461094f565b6001600160a01b0316146117f55760005b8451811015611e7457306001600160a01b0316858281518110611e1a57611e1a613ea3565b60200260200101516001600160a01b031603611e6457611e64838281518110611e4557611e45613ea3565b6020026020010151805190602001206002612c5290919063ffffffff16565b611e6d81613eb9565b9050611df5565b505050505050565b6117f58585858585612ca4565b30611e9261094f565b6001600160a01b0316146117f557600254600f81810b700100000000000000000000000000000000909204900b13156117f55760006002556117f5565b600061123185858585611eed60408051602081019091526000815290565b611abc565b600080611efe83612d31565b90506004816007811115611f1457611f1461377c565b14611f1f5792915050565b60008381526006602052604090205480611f3a575092915050565b6005546040517f2ab0f529000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b0390911690632ab0f52990602401602060405180830381865afa158015611f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc09190613dc8565b15611fcf575060079392505050565b6005546040517f584b153e000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b039091169063584b153e90602401602060405180830381865afa158015612031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120559190613dc8565b15612064575060059392505050565b5060029392505050565b60085460408051918252602082018390527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93910160405180910390a1600855565b60006120b96116ca565b6120c833610891600143613ed3565b101561213c5760405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f77207060448201527f726f706f73616c207468726573686f6c640000000000000000000000000000006064820152608401610ae0565b600061215186868686805190602001206117fc565b905084518651146121ca5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e677460448201527f68000000000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b83518651146122415760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e677460448201527f68000000000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b60008651116122925760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c00000000000000006044820152606401610ae0565b6000818152600160209081526040918290208251918201909252815467ffffffffffffffff16908190521561232f5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c726561647920657869737460448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b600061234161233c610fea565b612e31565b61234a43612e31565b6123549190613ee6565b9050600061236361233c610979565b61236d9083613ee6565b835467ffffffffffffffff191667ffffffffffffffff8416178455905060018301805467ffffffffffffffff191667ffffffffffffffff83161790557f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e084338b8b8d5167ffffffffffffffff8111156123e8576123e86132c8565b60405190808252806020026020018201604052801561241b57816020015b60608152602001906001900390816124065790505b508c88888e60405161243599989796959493929190613f0e565b60405180910390a15091979650505050505050565b6040517f3a46b1a80000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490526000917f000000000000000000000000000000000000000000000000000000000000000090911690633a46b1a890604401602060405180830381865afa1580156124d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c89190613c17565b600554604080516001600160a01b03928316815291831660208301527f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401910160405180910390a1600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60606110c884848460405180606001604052806029815260200161405660299139612eb5565b600081116126165760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f7253657474696e67733a20766f74696e6720706572696f642060448201527f746f6f206c6f77000000000000000000000000000000000000000000000000006064820152608401610ae0565b60095460408051918252602082018390527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e8828910160405180910390a1600955565b60006110a0838361267360408051602081019091526000815290565b61244a565b600a5460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc05461910160405180910390a1600a55565b600060646004546040517f8e539e8c000000000000000000000000000000000000000000000000000000008152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638e539e8c90602401602060405180830381865afa15801561273e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127629190613c17565b61276c9190614000565b6109739190614017565b60006001600160e01b031982167fbf26d8970000000000000000000000000000000000000000000000000000000014806127d957506001600160e01b031982167f79dd796f00000000000000000000000000000000000000000000000000000000145b8061280d57506001600160e01b031982167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061097357507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b0319831614610973565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561289e57507f000000000000000000000000000000000000000000000000000000000000000046145b156128c857507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156129a35750600090506003612a50565b8460ff16601b141580156129bb57508460ff16601c14155b156129cc5750600090506004612a50565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612a20573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612a4957600060019250925050612a50565b9150600090505b94509492505050565b6000816004811115612a6d57612a6d61377c565b03612a755750565b6001816004811115612a8957612a8961377c565b03612ad65760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610ae0565b6002816004811115612aea57612aea61377c565b03612b375760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610ae0565b6003816004811115612b4b57612b4b61377c565b03612bbe5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b6004816004811115612bd257612bd261377c565b03610b385760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610ae0565b6117f58585858585612ff2565b815470010000000000000000000000000000000090819004600f0b6000818152600180860160205260409091209390935583546fffffffffffffffffffffffffffffffff908116939091011602179055565b6005546040517fe38335e50000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063e38335e5903490612cf8908890889088906000908990600401613cf9565b6000604051808303818588803b158015612d1157600080fd5b505af1158015612d25573d6000803e3d6000fd5b50505050505050505050565b6000818152600160205260408120600281015460ff1615612d555750600792915050565b6002810154610100900460ff1615612d705750600292915050565b6000612d7b84610fb1565b905080600003612dcd5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c2069640000006044820152606401610ae0565b438110612dde575060009392505050565b6000612de9856116d5565b9050438110612dfd57506001949350505050565b612e06856131a8565b8015612e165750612e16856131b3565b15612e2657506004949350505050565b506003949350505050565b600067ffffffffffffffff821115612eb15760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f34206269747300000000000000000000000000000000000000000000000000006064820152608401610ae0565b5090565b606082471015612f2d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610ae0565b6001600160a01b0385163b612f845760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ae0565b600080866001600160a01b03168587604051612fa09190614039565b60006040518083038185875af1925050503d8060008114612fdd576040519150601f19603f3d011682016040523d82523d6000602084013e612fe2565b606091505b50915091506110608282866131cf565b60008581526007602090815260408083206001600160a01b0388168452600381019092529091205460ff16156130905760405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f72566f74696e6753696d706c653a20766f746520616c72656160448201527f64792063617374000000000000000000000000000000000000000000000000006064820152608401610ae0565b6001600160a01b03851660009081526003820160205260409020805460ff1916600117905560ff84166130dc57828160000160008282546130d19190613db5565b90915550611e749050565b60001960ff8516016130fc57828160010160008282546130d19190613db5565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff85160161313a57828160020160008282546130d19190613db5565b60405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72566f74696e6753696d706c653a20696e76616c696420766160448201527f6c756520666f7220656e756d20566f74655479706500000000000000000000006064820152608401610ae0565b600061097382613208565b6000818152600760205260408120805460019091015411610973565b606083156131de5750816110a0565b8251156131ee5782518084602001fd5b8160405162461bcd60e51b8152600401610ae09190613497565b60008181526007602052604081206002810154600182015461322a9190613db5565b61323661091685610fb1565b11159392505050565b60006020828403121561325157600080fd5b81356001600160e01b0319811681146110a057600080fd5b803560ff8116811461327a57600080fd5b919050565b60008083601f84011261329157600080fd5b50813567ffffffffffffffff8111156132a957600080fd5b6020830191508360208285010111156132c157600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613307576133076132c8565b604052919050565b600067ffffffffffffffff831115613329576133296132c8565b61333c6020601f19601f860116016132de565b905082815283838301111561335057600080fd5b828260208301376000602084830101529392505050565b600082601f83011261337857600080fd5b6110a08383356020850161330f565b60008060008060008060008060e0898b0312156133a357600080fd5b883597506133b360208a01613269565b9650604089013567ffffffffffffffff808211156133d057600080fd5b6133dc8c838d0161327f565b909850965060608b01359150808211156133f557600080fd5b506134028b828c01613367565b94505061341160808a01613269565b925060a0890135915060c089013590509295985092959890939650565b60006020828403121561344057600080fd5b5035919050565b60005b8381101561346257818101518382015260200161344a565b50506000910152565b60008151808452613483816020860160208601613447565b601f01601f19169290920160200192915050565b6020815260006110a0602083018461346b565b6001600160a01b0381168114610b3857600080fd5b600080600080608085870312156134d557600080fd5b84356134e0816134aa565b935060208501356134f0816134aa565b925060408501359150606085013567ffffffffffffffff81111561351357600080fd5b61351f87828801613367565b91505092959194509250565b600067ffffffffffffffff821115613545576135456132c8565b5060051b60200190565b600082601f83011261356057600080fd5b813560206135756135708361352b565b6132de565b82815260059290921b8401810191818101908684111561359457600080fd5b8286015b848110156135b85780356135ab816134aa565b8352918301918301613598565b509695505050505050565b600082601f8301126135d457600080fd5b813560206135e46135708361352b565b82815260059290921b8401810191818101908684111561360357600080fd5b8286015b848110156135b85780358352918301918301613607565b600082601f83011261362f57600080fd5b8135602061363f6135708361352b565b82815260059290921b8401810191818101908684111561365e57600080fd5b8286015b848110156135b857803567ffffffffffffffff8111156136825760008081fd5b6136908986838b0101613367565b845250918301918301613662565b600080600080608085870312156136b457600080fd5b843567ffffffffffffffff808211156136cc57600080fd5b6136d88883890161354f565b955060208701359150808211156136ee57600080fd5b6136fa888389016135c3565b9450604087013591508082111561371057600080fd5b5061371d8782880161361e565b949793965093946060013593505050565b600080600080600060a0868803121561374657600080fd5b8535945061375660208701613269565b935061376460408701613269565b94979396509394606081013594506080013592915050565b634e487b7160e01b600052602160045260246000fd5b60208101600883106137b457634e487b7160e01b600052602160045260246000fd5b91905290565b600080604083850312156137cd57600080fd5b8235915060208301356137df816134aa565b809150509250929050565b600080604083850312156137fd57600080fd5b8235915061380d60208401613269565b90509250929050565b60008060008060006080868803121561382e57600080fd5b8535945061383e60208701613269565b9350604086013567ffffffffffffffff8082111561385b57600080fd5b61386789838a0161327f565b9095509350606088013591508082111561388057600080fd5b5061388d88828901613367565b9150509295509295909350565b600080600080606085870312156138b057600080fd5b843593506138c060208601613269565b9250604085013567ffffffffffffffff8111156138dc57600080fd5b6138e88782880161327f565b95989497509550505050565b6000806000806080858703121561390a57600080fd5b843567ffffffffffffffff8082111561392257600080fd5b61392e8883890161354f565b9550602087013591508082111561394457600080fd5b613950888389016135c3565b9450604087013591508082111561396657600080fd5b6139728883890161361e565b9350606087013591508082111561398857600080fd5b508501601f8101871361399a57600080fd5b61351f8782356020840161330f565b6000806000606084860312156139be57600080fd5b83356139c9816134aa565b925060208401359150604084013567ffffffffffffffff8111156139ec57600080fd5b6139f886828701613367565b9150509250925092565b600080600060608486031215613a1757600080fd5b8335613a22816134aa565b92506020840135613a32816134aa565b929592945050506040919091013590565b600060208284031215613a5557600080fd5b81356110a0816134aa565b600080600080600060a08688031215613a7857600080fd5b8535613a83816134aa565b94506020860135613a93816134aa565b9350604086013567ffffffffffffffff80821115613ab057600080fd5b613abc89838a016135c3565b94506060880135915080821115613ad257600080fd5b613ade89838a016135c3565b9350608088013591508082111561388057600080fd5b60008060008060608587031215613b0a57600080fd5b8435613b15816134aa565b935060208501359250604085013567ffffffffffffffff8111156138dc57600080fd5b60008060408385031215613b4b57600080fd5b8235613b56816134aa565b946020939093013593505050565b600080600080600060a08688031215613b7c57600080fd5b8535613b87816134aa565b94506020860135613b97816134aa565b93506040860135925060608601359150608086013567ffffffffffffffff811115613bc157600080fd5b61388d88828901613367565b8183823760009101908152919050565b600181811c90821680613bf157607f821691505b602082108103613c1157634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215613c2957600080fd5b5051919050565b600081518084526020808501945080840160005b83811015613c695781516001600160a01b031687529582019590820190600101613c44565b509495945050505050565b600081518084526020808501945080840160005b83811015613c6957815187529582019590820190600101613c88565b600081518084526020808501808196508360051b8101915082860160005b85811015613cec578284038952613cda84835161346b565b98850198935090840190600101613cc2565b5091979650505050505050565b60a081526000613d0c60a0830188613c30565b8281036020840152613d1e8188613c74565b90508281036040840152613d328187613ca4565b60608401959095525050608001529392505050565b60c081526000613d5a60c0830189613c30565b8281036020840152613d6c8189613c74565b90508281036040840152613d808188613ca4565b60608401969096525050608081019290925260a0909101529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561097357610973613d9f565b600060208284031215613dda57600080fd5b815180151581146110a057600080fd5b608081526000613dfd6080830187613c30565b8281036020840152613e0f8187613c74565b90508281036040840152613e238186613ca4565b91505082606083015295945050505050565b84815260ff84166020820152826040820152608060608201526000611219608083018461346b565b85815260ff8516602082015283604082015260a060608201526000613e8560a083018561346b565b8281036080840152613e97818561346b565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006000198203613ecc57613ecc613d9f565b5060010190565b8181038181111561097357610973613d9f565b67ffffffffffffffff818116838216019080821115613f0757613f07613d9f565b5092915050565b60006101208b835260206001600160a01b038c1681850152816040850152613f388285018c613c30565b91508382036060850152613f4c828b613c74565b915083820360808501528189518084528284019150828160051b850101838c0160005b83811015613f9d57601f19878403018552613f8b83835161346b565b94860194925090850190600101613f6f565b505086810360a0880152613fb1818c613ca4565b945050505050613fcd60c084018767ffffffffffffffff169052565b67ffffffffffffffff851660e0840152828103610100840152613ff0818561346b565b9c9b505050505050505050505050565b808202811582820484141761097357610973613d9f565b60008261403457634e487b7160e01b600052601260045260246000fd5b500490565b6000825161404b818460208701613447565b919091019291505056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a26469706673582212200ffc09a2e3d77562b64fa2ad6e2471dd83e7f27cb10d3ee5ed25824cf2db578a64736f6c63430008110033"; + +type UXDGovernorConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UXDGovernorConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UXDGovernor__factory extends ContractFactory { + constructor(...args: UXDGovernorConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + _token: PromiseOrValue, + _timelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy( + _token, + _timelock, + overrides || {} + ) as Promise; + } + override getDeployTransaction( + _token: PromiseOrValue, + _timelock: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(_token, _timelock, overrides || {}); + } + override attach(address: string): UXDGovernor { + return super.attach(address) as UXDGovernor; + } + override connect(signer: Signer): UXDGovernor__factory { + return super.connect(signer) as UXDGovernor__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UXDGovernorInterface { + return new utils.Interface(_abi) as UXDGovernorInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXDGovernor { + return new Contract(address, _abi, signerOrProvider) as UXDGovernor; + } +} diff --git a/src/typechain-types/factories/contracts/governance/UXDTimelockController__factory.ts b/src/typechain-types/factories/contracts/governance/UXDTimelockController__factory.ts new file mode 100644 index 0000000..5c7bc72 --- /dev/null +++ b/src/typechain-types/factories/contracts/governance/UXDTimelockController__factory.ts @@ -0,0 +1,1072 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Signer, + utils, + Contract, + ContractFactory, + BigNumberish, + Overrides, +} from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + UXDTimelockController, + UXDTimelockControllerInterface, +} from "../../../contracts/governance/UXDTimelockController"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "minDelay", + type: "uint256", + }, + { + internalType: "address[]", + name: "proposers", + type: "address[]", + }, + { + internalType: "address[]", + name: "executors", + type: "address[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "TimelockCallerNotSelf", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "TimelockERC20ApprovalFailed", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "TimelockERC20TransferFailed", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "uint256", + name: "index", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "CallExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "uint256", + name: "index", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + indexed: false, + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "delay", + type: "uint256", + }, + ], + name: "CallScheduled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "Cancelled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "oldDuration", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newDuration", + type: "uint256", + }, + ], + name: "MinDelayChange", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "previousAdminRole", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newAdminRole", + type: "bytes32", + }, + ], + name: "RoleAdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleGranted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "RoleRevoked", + type: "event", + }, + { + inputs: [], + name: "CANCELLER_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DEFAULT_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTOR_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSER_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "TIMELOCK_ADMIN_ROLE", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approveERC20", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "cancel", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "payloads", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "executeBatch", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getMinDelay", + outputs: [ + { + internalType: "uint256", + name: "duration", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + ], + name: "getRoleAdmin", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "getTimestamp", + outputs: [ + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "grantRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasRole", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "hashOperation", + outputs: [ + { + internalType: "bytes32", + name: "hash", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "payloads", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "hashOperationBatch", + outputs: [ + { + internalType: "bytes32", + name: "hash", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperation", + outputs: [ + { + internalType: "bool", + name: "pending", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperationDone", + outputs: [ + { + internalType: "bool", + name: "done", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperationPending", + outputs: [ + { + internalType: "bool", + name: "pending", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "id", + type: "bytes32", + }, + ], + name: "isOperationReady", + outputs: [ + { + internalType: "bool", + name: "ready", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155BatchReceived", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC1155Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "onERC721Received", + outputs: [ + { + internalType: "bytes4", + name: "", + type: "bytes4", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "renounceRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "role", + type: "bytes32", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "revokeRole", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256", + name: "delay", + type: "uint256", + }, + ], + name: "schedule", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "targets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + { + internalType: "bytes[]", + name: "payloads", + type: "bytes[]", + }, + { + internalType: "bytes32", + name: "predecessor", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256", + name: "delay", + type: "uint256", + }, + ], + name: "scheduleBatch", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferERC20", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address payable", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferETH", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newDelay", + type: "uint256", + }, + ], + name: "updateDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b5060405162002a2338038062002a238339810160408190526200003491620003fd565b82828262000052600080516020620029a38339815191528062000222565b6200007c600080516020620029c3833981519152600080516020620029a383398151915262000222565b620000a6600080516020620029e3833981519152600080516020620029a383398151915262000222565b620000d060008051602062002a03833981519152600080516020620029a383398151915262000222565b620000eb600080516020620029a3833981519152336200026d565b62000106600080516020620029a3833981519152306200026d565b60005b82518110156200018c5762000150600080516020620029c38339815191528483815181106200013c576200013c62000471565b60200260200101516200026d60201b60201c565b6200017960008051602062002a038339815191528483815181106200013c576200013c62000471565b620001848162000487565b905062000109565b5060005b8151811015620001d657620001c3600080516020620029e38339815191528383815181106200013c576200013c62000471565b620001ce8162000487565b905062000190565b5060028390556040805160008152602081018590527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1505050505050620004af565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6200027982826200027d565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000279576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002d93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200034b57600080fd5b919050565b600082601f8301126200036257600080fd5b815160206001600160401b03808311156200038157620003816200031d565b8260051b604051601f19603f83011681018181108482111715620003a957620003a96200031d565b604052938452858101830193838101925087851115620003c857600080fd5b83870191505b84821015620003f257620003e28262000333565b83529183019190830190620003ce565b979650505050505050565b6000806000606084860312156200041357600080fd5b835160208501519093506001600160401b03808211156200043357600080fd5b620004418783880162000350565b935060408601519150808211156200045857600080fd5b50620004678682870162000350565b9150509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201620004a857634e487b7160e01b600052601160045260246000fd5b5060010190565b6124e480620004bf6000396000f3fe6080604052600436106101dc5760003560e01c80638065657f11610102578063b1c5f42711610095578063d547741f11610064578063d547741f14610671578063e38335e514610691578063f23a6e61146106a4578063f27a0c92146106e957600080fd5b8063b1c5f427146105bf578063bc197c81146105df578063c4d252f514610624578063d45c44351461064457600080fd5b80639db5dbe4116100d15780639db5dbe414610536578063a217fddf14610556578063a8e5e4aa1461056b578063b08e51c01461058b57600080fd5b80638065657f1461047e5780638f2a0bb01461049e5780638f61f4f5146104be57806391d14854146104f257600080fd5b8063248a9ca31161017a57806336568abe1161014957806336568abe146103fe578063584b153e1461041e57806364d623531461043e5780637b1a49091461045e57600080fd5b8063248a9ca31461035d5780632ab0f5291461038d5780632f2ff15d146103be57806331d50750146103de57600080fd5b80630d3cf6fc116101b65780630d3cf6fc14610281578063134008d3146102b557806313bc9f20146102c8578063150b7a02146102e857600080fd5b806301d5062a146101e857806301ffc9a71461020a57806307bd02651461023f57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50610208610203366004611a98565b6106fe565b005b34801561021657600080fd5b5061022a610225366004611b0f565b610793565b60405190151581526020015b60405180910390f35b34801561024b57600080fd5b506102737fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610236565b34801561028d57600080fd5b506102737f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6102086102c3366004611b51565b6107ef565b3480156102d457600080fd5b5061022a6102e3366004611bbf565b6108aa565b3480156102f457600080fd5b5061032c610303366004611c8f565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610236565b34801561036957600080fd5b50610273610378366004611bbf565b60009081526020819052604090206001015490565b34801561039957600080fd5b5061022a6103a8366004611bbf565b6000908152600160208190526040909120541490565b3480156103ca57600080fd5b506102086103d9366004611cfb565b6108d0565b3480156103ea57600080fd5b5061022a6103f9366004611bbf565b6108fa565b34801561040a57600080fd5b50610208610419366004611cfb565b610913565b34801561042a57600080fd5b5061022a610439366004611bbf565b6109a4565b34801561044a57600080fd5b50610208610459366004611bbf565b6109ba565b34801561046a57600080fd5b50610208610479366004611d2b565b610a70565b34801561048a57600080fd5b50610273610499366004611b51565b610ac8565b3480156104aa57600080fd5b506102086104b9366004611d9c565b610b07565b3480156104ca57600080fd5b506102737fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b3480156104fe57600080fd5b5061022a61050d366004611cfb565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b34801561054257600080fd5b50610208610551366004611e4e565b610cd1565b34801561056257600080fd5b50610273600081565b34801561057757600080fd5b50610208610586366004611e4e565b610dcf565b34801561059757600080fd5b506102737ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156105cb57600080fd5b506102736105da366004611e8f565b610ecd565b3480156105eb57600080fd5b5061032c6105fa366004611fb8565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561063057600080fd5b5061020861063f366004611bbf565b610f12565b34801561065057600080fd5b5061027361065f366004611bbf565b60009081526001602052604090205490565b34801561067d57600080fd5b5061020861068c366004611cfb565b610ff3565b61020861069f366004611e8f565b611018565b3480156106b057600080fd5b5061032c6106bf366004612066565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3480156106f557600080fd5b50600254610273565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161072881611208565b6000610738898989898989610ac8565b90506107448184611215565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a604051610780969594939291906120fa565b60405180910390a3505050505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e00000000000000000000000000000000000000000000000000000000014806107e957506107e982611329565b92915050565b600080527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea157951547fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e639060ff1661086c5761086c81336113c0565b600061087c888888888888610ac8565b9050610888818561143e565b6108978160008a8a8a8a611547565b6108a081611665565b5050505050505050565b6000818152600160205260408120546001811180156108c95750428111155b9392505050565b6000828152602081905260409020600101546108eb81611208565b6108f583836116f4565b505050565b60008181526001602052604081205481905b1192915050565b6001600160a01b03811633146109965760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6109a08282611792565b5050565b600081815260016020819052604082205461090c565b333014610a2f5760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201527f62652074696d656c6f636b000000000000000000000000000000000000000000606482015260840161098d565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b333014610a92576040516330042fbd60e11b815233600482015260240161098d565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156108f5573d6000803e3d6000fd5b6000868686868686604051602001610ae5969594939291906120fa565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610b3181611208565b888714610b8c5760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161098d565b888514610be75760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161098d565b6000610bf98b8b8b8b8b8b8b8b610ecd565b9050610c058184611215565b60005b8a811015610cc35780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610c4557610c45612138565b9050602002016020810190610c5a919061214e565b8d8d86818110610c6c57610c6c612138565b905060200201358c8c87818110610c8557610c85612138565b9050602002810190610c97919061216b565b8c8b604051610cab969594939291906120fa565b60405180910390a3610cbc816121c8565b9050610c08565b505050505050505050505050565b333014610cf3576040516330042fbd60e11b815233600482015260240161098d565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610d5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7f91906121e2565b6108f5576040517ffbcaa6ee0000000000000000000000000000000000000000000000000000000081526001600160a01b038085166004830152831660248201526044810182905260640161098d565b333014610df1576040516330042fbd60e11b815233600482015260240161098d565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d91906121e2565b6108f5576040517f5b758c160000000000000000000000000000000000000000000000000000000081526001600160a01b038085166004830152831660248201526044810182905260640161098d565b60008888888888888888604051602001610eee989796959493929190612296565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610f3c81611208565b610f45826109a4565b610fb75760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20636160448201527f6e6e6f742062652063616e63656c6c6564000000000000000000000000000000606482015260840161098d565b6000828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b60008281526020819052604090206001015461100e81611208565b6108f58383611792565b600080527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d70696020527f5ba6852781629bcdcd4bdaa6de76d786f1c64b16acdac474e55bebc0ea157951547fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e639060ff166110955761109581336113c0565b8786146110f05760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161098d565b87841461114b5760405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b606482015260840161098d565b600061115d8a8a8a8a8a8a8a8a610ecd565b9050611169818561143e565b60005b898110156111f2576111e282828d8d8581811061118b5761118b612138565b90506020020160208101906111a0919061214e565b8c8c868181106111b2576111b2612138565b905060200201358b8b878181106111cb576111cb612138565b90506020028101906111dd919061216b565b611547565b6111eb816121c8565b905061116c565b506111fc81611665565b50505050505050505050565b61121281336113c0565b50565b61121e826108fa565b156112915760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201527f7265616479207363686564756c65640000000000000000000000000000000000606482015260840161098d565b6002548110156113095760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e7460448201527f2064656c61790000000000000000000000000000000000000000000000000000606482015260840161098d565b6113138142612352565b6000928352600160205260409092209190915550565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806107e957507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107e9565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166109a0576113fc816001600160a01b03166014611811565b611407836020611811565b604051602001611418929190612389565b60408051601f198184030181529082905262461bcd60e51b825261098d9160040161240a565b611447826108aa565b6114b95760405162461bcd60e51b815260206004820152602a60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20697360448201527f206e6f7420726561647900000000000000000000000000000000000000000000606482015260840161098d565b8015806114d55750600081815260016020819052604090912054145b6109a05760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e67206465706560448201527f6e64656e63790000000000000000000000000000000000000000000000000000606482015260840161098d565b6000846001600160a01b031684848460405161156492919061243d565b60006040518083038185875af1925050503d80600081146115a1576040519150601f19603f3d011682016040523d82523d6000602084013e6115a6565b606091505b505090508061161d5760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e67207460448201527f72616e73616374696f6e20726576657274656400000000000000000000000000606482015260840161098d565b85877fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5887878787604051611654949392919061244d565b60405180910390a350505050505050565b61166e816108aa565b6116e05760405162461bcd60e51b815260206004820152602a60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20697360448201527f206e6f7420726561647900000000000000000000000000000000000000000000606482015260840161098d565b600090815260016020819052604090912055565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166109a0576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561174e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16156109a0576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606000611820836002612480565b61182b906002612352565b67ffffffffffffffff81111561184357611843611bd8565b6040519080825280601f01601f19166020018201604052801561186d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106118a4576118a4612138565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061190757611907612138565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000611943846002612480565b61194e906001612352565b90505b60018111156119eb577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061198f5761198f612138565b1a60f81b8282815181106119a5576119a5612138565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936119e481612497565b9050611951565b5083156108c95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161098d565b6001600160a01b038116811461121257600080fd5b60008083601f840112611a6157600080fd5b50813567ffffffffffffffff811115611a7957600080fd5b602083019150836020828501011115611a9157600080fd5b9250929050565b600080600080600080600060c0888a031215611ab357600080fd5b8735611abe81611a3a565b965060208801359550604088013567ffffffffffffffff811115611ae157600080fd5b611aed8a828b01611a4f565b989b979a50986060810135976080820135975060a09091013595509350505050565b600060208284031215611b2157600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146108c957600080fd5b60008060008060008060a08789031215611b6a57600080fd5b8635611b7581611a3a565b955060208701359450604087013567ffffffffffffffff811115611b9857600080fd5b611ba489828a01611a4f565b979a9699509760608101359660809091013595509350505050565b600060208284031215611bd157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611c1757611c17611bd8565b604052919050565b600082601f830112611c3057600080fd5b813567ffffffffffffffff811115611c4a57611c4a611bd8565b611c5d6020601f19601f84011601611bee565b818152846020838601011115611c7257600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060808587031215611ca557600080fd5b8435611cb081611a3a565b93506020850135611cc081611a3a565b925060408501359150606085013567ffffffffffffffff811115611ce357600080fd5b611cef87828801611c1f565b91505092959194509250565b60008060408385031215611d0e57600080fd5b823591506020830135611d2081611a3a565b809150509250929050565b60008060408385031215611d3e57600080fd5b8235611d4981611a3a565b946020939093013593505050565b60008083601f840112611d6957600080fd5b50813567ffffffffffffffff811115611d8157600080fd5b6020830191508360208260051b8501011115611a9157600080fd5b600080600080600080600080600060c08a8c031215611dba57600080fd5b893567ffffffffffffffff80821115611dd257600080fd5b611dde8d838e01611d57565b909b50995060208c0135915080821115611df757600080fd5b611e038d838e01611d57565b909950975060408c0135915080821115611e1c57600080fd5b50611e298c828d01611d57565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b600080600060608486031215611e6357600080fd5b8335611e6e81611a3a565b92506020840135611e7e81611a3a565b929592945050506040919091013590565b60008060008060008060008060a0898b031215611eab57600080fd5b883567ffffffffffffffff80821115611ec357600080fd5b611ecf8c838d01611d57565b909a50985060208b0135915080821115611ee857600080fd5b611ef48c838d01611d57565b909850965060408b0135915080821115611f0d57600080fd5b50611f1a8b828c01611d57565b999c989b509699959896976060870135966080013595509350505050565b600082601f830112611f4957600080fd5b8135602067ffffffffffffffff821115611f6557611f65611bd8565b8160051b611f74828201611bee565b9283528481018201928281019087851115611f8e57600080fd5b83870192505b84831015611fad57823582529183019190830190611f94565b979650505050505050565b600080600080600060a08688031215611fd057600080fd5b8535611fdb81611a3a565b94506020860135611feb81611a3a565b9350604086013567ffffffffffffffff8082111561200857600080fd5b61201489838a01611f38565b9450606088013591508082111561202a57600080fd5b61203689838a01611f38565b9350608088013591508082111561204c57600080fd5b5061205988828901611c1f565b9150509295509295909350565b600080600080600060a0868803121561207e57600080fd5b853561208981611a3a565b9450602086013561209981611a3a565b93506040860135925060608601359150608086013567ffffffffffffffff8111156120c357600080fd5b61205988828901611c1f565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6001600160a01b038716815285602082015260a06040820152600061212360a0830186886120cf565b60608301949094525060800152949350505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561216057600080fd5b81356108c981611a3a565b6000808335601e1984360301811261218257600080fd5b83018035915067ffffffffffffffff82111561219d57600080fd5b602001915036819003821315611a9157600080fd5b634e487b7160e01b600052601160045260246000fd5b600060001982036121db576121db6121b2565b5060010190565b6000602082840312156121f457600080fd5b815180151581146108c957600080fd5b81835260006020808501808196508560051b810191508460005b878110156122895782840389528135601e1988360301811261223f57600080fd5b8701858101903567ffffffffffffffff81111561225b57600080fd5b80360382131561226a57600080fd5b6122758682846120cf565b9a87019a955050509084019060010161221e565b5091979650505050505050565b60a0808252810188905260008960c08301825b8b8110156122d95782356122bc81611a3a565b6001600160a01b03168252602092830192909101906001016122a9565b5083810360208501528881527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89111561231257600080fd5b8860051b9150818a6020830137018281036020908101604085015261233a9082018789612204565b60608401959095525050608001529695505050505050565b808201808211156107e9576107e96121b2565b60005b83811015612380578181015183820152602001612368565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516123c1816017850160208801612365565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516123fe816028840160208801612365565b01602801949350505050565b6020815260008251806020840152612429816040850160208701612365565b601f01601f19169190910160400192915050565b8183823760009101908152919050565b6001600160a01b03851681528360208201526060604082015260006124766060830184866120cf565b9695505050505050565b80820281158282048414176107e9576107e96121b2565b6000816124a6576124a66121b2565b50600019019056fea26469706673582212206b4cf5bd26451cc9f4ceadece1b06f0ca9545f94f537719a66e81a95cb8ed1cf64736f6c634300081100335f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783"; + +type UXDTimelockControllerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UXDTimelockControllerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UXDTimelockController__factory extends ContractFactory { + constructor(...args: UXDTimelockControllerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + minDelay: PromiseOrValue, + proposers: PromiseOrValue[], + executors: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy( + minDelay, + proposers, + executors, + overrides || {} + ) as Promise; + } + override getDeployTransaction( + minDelay: PromiseOrValue, + proposers: PromiseOrValue[], + executors: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction( + minDelay, + proposers, + executors, + overrides || {} + ); + } + override attach(address: string): UXDTimelockController { + return super.attach(address) as UXDTimelockController; + } + override connect(signer: Signer): UXDTimelockController__factory { + return super.connect(signer) as UXDTimelockController__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UXDTimelockControllerInterface { + return new utils.Interface(_abi) as UXDTimelockControllerInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXDTimelockController { + return new Contract( + address, + _abi, + signerOrProvider + ) as UXDTimelockController; + } +} diff --git a/src/typechain-types/factories/contracts/governance/UXPToken__factory.ts b/src/typechain-types/factories/contracts/governance/UXPToken__factory.ts new file mode 100644 index 0000000..b5bdf9d --- /dev/null +++ b/src/typechain-types/factories/contracts/governance/UXPToken__factory.ts @@ -0,0 +1,775 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + UXPToken, + UXPTokenInterface, +} from "../../../contracts/governance/UXPToken"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "custodian", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "spendAmount", + type: "uint256", + }, + ], + name: "NotApproved", + type: "error", + }, + { + 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: "delegator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "fromDelegate", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "toDelegate", + type: "address", + }, + ], + name: "DelegateChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "delegate", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "previousBalance", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newBalance", + type: "uint256", + }, + ], + name: "DelegateVotesChanged", + 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: 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", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MAX_TOTAL_SUPPLY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + 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: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint32", + name: "pos", + type: "uint32", + }, + ], + name: "checkpoints", + outputs: [ + { + components: [ + { + internalType: "uint32", + name: "fromBlock", + type: "uint32", + }, + { + internalType: "uint224", + name: "votes", + type: "uint224", + }, + ], + internalType: "struct ERC20Votes.Checkpoint", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + 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: "address", + name: "delegatee", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegatee", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "delegateBySig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "delegates", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastTotalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "blockNumber", + type: "uint256", + }, + ], + name: "getPastVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getVotes", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + 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: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "numCheckpoints", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + 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: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x6101406040523480156200001257600080fd5b5060405162002d4238038062002d428339810160408190526200003591620007fc565b6040518060400160405280600381526020016205558560ec1b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280601481526020017f55584420476f7665726e616e636520546f6b656e0000000000000000000000008152506040518060400160405280600381526020016205558560ec1b815250620000d8620000d2620001a860201b60201c565b620001ac565b6004620000e68382620008d2565b506005620000f58282620008d2565b5050825160209384012082519284019290922060e08390526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818901819052818301979097526060810194909452608080850193909352308483018190528151808603909301835260c0948501909152815191909601209052929092526101205250620001a19050816b204fce5e3e25026110000000620001fc565b50620009f6565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6200021382826200021760201b62000dae1760201c565b5050565b6200022e8282620002ce60201b62000e4b1760201c565b6001600160e01b0362000242620003bd8216565b1115620002af5760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b60648201526084015b60405180910390fd5b620002c8600a62000f32620003c360201b1783620003da565b50505050565b6001600160a01b038216620003265760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620002a6565b80600360008282546200033a9190620009b4565b90915550506001600160a01b0382166000908152600160205260408120805483929062000369908490620009b4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3620002136000838362000591565b60035490565b6000620003d18284620009b4565b90505b92915050565b8254600090819080156200042c5785620003f6600183620009ca565b81548110620004095762000409620009e0565b60009182526020909120015464010000000090046001600160e01b03166200042f565b60005b6001600160e01b031692506200044683858760201c565b91506000811180156200048a5750438662000463600184620009ca565b81548110620004765762000476620009e0565b60009182526020909120015463ffffffff16145b15620004fe57620004a682620005a960201b62000f3e1760201c565b86620004b4600184620009ca565b81548110620004c757620004c7620009e0565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b0316021790555062000583565b85604051806040016040528062000520436200061860201b62000fc11760201c565b63ffffffff1681526020016200054185620005a960201b62000f3e1760201c565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b505050565b6200058c8383836200067f60201b6200103d1760201c565b60006001600160e01b03821115620006145760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401620002a6565b5090565b600063ffffffff821115620006145760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401620002a6565b620006978383836200058c60201b620008f41760201c565b6001600160a01b038381166000908152600860205260408082205485841683529120546200058c92918216911683818314801590620006d65750600081115b156200058c576001600160a01b0383161562000763576001600160a01b038316600090815260096020908152604082208291620007209190620007ee901b6200106f1785620003da565b91509150846001600160a01b031660008051602062002d22833981519152838360405162000758929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156200058c576001600160a01b038216600090815260096020908152604082208291620007a79190620003c3901b62000f321785620003da565b91509150836001600160a01b031660008051602062002d228339815191528383604051620007df929190918252602082015260400190565b60405180910390a25050505050565b6000620003d18284620009ca565b6000602082840312156200080f57600080fd5b81516001600160a01b03811681146200082757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200085957607f821691505b6020821081036200087a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200058c57600081815260208120601f850160051c81016020861015620008a95750805b601f850160051c820191505b81811015620008ca57828155600101620008b5565b505050505050565b81516001600160401b03811115620008ee57620008ee6200082e565b6200090681620008ff845462000844565b8462000880565b602080601f8311600181146200093e5760008415620009255750858301515b600019600386901b1c1916600185901b178555620008ca565b600085815260208120601f198616915b828110156200096f578886015182559484019460019091019084016200094e565b50858210156200098e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b80820180821115620003d457620003d46200099e565b81810381811115620003d457620003d46200099e565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e05161010051610120516122dc62000a466000396000611524015260006115730152600061154e015260006114a7015260006114d1015260006114fb01526122dc6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063a457c2d711610097578063d505accf11610071578063d505accf146103e2578063dd62ed3e146103f5578063f1127ed81461042e578063f2fde38b1461046b57600080fd5b8063a457c2d7146103a9578063a9059cbb146103bc578063c3cda520146103cf57600080fd5b80638e539e8c116100d35780638e539e8c1461036857806395d89b411461037b5780639ab24eb0146103835780639dc29fac1461039657600080fd5b8063715018a61461033c5780637ecebe00146103445780638da5cb5b1461035757600080fd5b80633950935111610166578063587cde1e11610140578063587cde1e146102945780635c19a95c146102d85780636fcfff45146102eb57806370a082311461031357600080fd5b806339509351146102595780633a46b1a81461026c57806340c10f191461027f57600080fd5b806323b872dd116101a257806323b872dd1461021c578063313ce5671461022f57806333039d3d1461023e5780633644e5151461025157600080fd5b806306fdde03146101c9578063095ea7b3146101e757806318160ddd1461020a575b600080fd5b6101d161047e565b6040516101de9190611f9e565b60405180910390f35b6101fa6101f5366004612008565b610510565b60405190151581526020016101de565b6003545b6040519081526020016101de565b6101fa61022a366004612032565b61052a565b604051601281526020016101de565b61020e6b204fce5e3e2502611000000081565b61020e61054e565b6101fa610267366004612008565b61055d565b61020e61027a366004612008565b61059c565b61029261028d366004612008565b61061b565b005b6102c06102a236600461206e565b6001600160a01b039081166000908152600860205260409020541690565b6040516001600160a01b0390911681526020016101de565b6102926102e636600461206e565b610683565b6102fe6102f936600461206e565b610690565b60405163ffffffff90911681526020016101de565b61020e61032136600461206e565b6001600160a01b031660009081526001602052604090205490565b6102926106b2565b61020e61035236600461206e565b610718565b6000546001600160a01b03166102c0565b61020e610376366004612089565b610736565b6101d1610792565b61020e61039136600461206e565b6107a1565b6102926103a4366004612008565b610828565b6101fa6103b7366004612008565b6108f9565b6101fa6103ca366004612008565b6109a3565b6102926103dd3660046120b3565b6109b1565b6102926103f036600461210b565b610ae7565b61020e610403366004612175565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61044161043c3660046121a8565b610c4b565b60408051825163ffffffff1681526020928301516001600160e01b031692810192909252016101de565b61029261047936600461206e565b610ccf565b60606004805461048d906121e8565b80601f01602080910402602001604051908101604052809291908181526020018280546104b9906121e8565b80156105065780601f106104db57610100808354040283529160200191610506565b820191906000526020600020905b8154815290600101906020018083116104e957829003601f168201915b5050505050905090565b60003361051e81858561107b565b60019150505b92915050565b6000336105388582856111d3565b61054385858561127d565b506001949350505050565b600061055861149a565b905090565b3360008181526002602090815260408083206001600160a01b038716845290915281205490919061051e9082908690610597908790612232565b61107b565b60004382106105f25760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e65640060448201526064015b60405180910390fd5b6001600160a01b038316600090815260096020526040902061061490836115c1565b9392505050565b6000546001600160a01b031633146106755760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e9565b61067f828261167e565b5050565b61068d3382611688565b50565b6001600160a01b03811660009081526009602052604081205461052490610fc1565b6000546001600160a01b0316331461070c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e9565b610716600061171a565b565b6001600160a01b038116600090815260066020526040812054610524565b60004382106107875760405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e65640060448201526064016105e9565b610524600a836115c1565b60606005805461048d906121e8565b6001600160a01b0381166000908152600960205260408120548015610815576001600160a01b03831660009081526009602052604090206107e3600183612245565b815481106107f3576107f3612258565b60009182526020909120015464010000000090046001600160e01b0316610818565b60005b6001600160e01b03169392505050565b6000546001600160a01b031633146108825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e9565b6001600160a01b0382166000908152600260209081526040808320338452909152902054818110156108ea576040517f9912131900000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044016105e9565b6108f48383611782565b505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909190838110156109965760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016105e9565b610543828686840361107b565b60003361051e81858561127d565b83421115610a015760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e6174757265206578706972656400000060448201526064016105e9565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610a7b90610a739060a0016040516020818303038152906040528051906020012061178c565b8585856117f5565b9050610a868161181d565b8614610ad45760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e63650000000000000060448201526064016105e9565b610ade8188611688565b50505050505050565b83421115610b375760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016105e9565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610b668c61181d565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610bc18261178c565b90506000610bd1828787876117f5565b9050896001600160a01b0316816001600160a01b031614610c345760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016105e9565b610c3f8a8a8a61107b565b50505050505050505050565b60408051808201909152600080825260208201526001600160a01b0383166000908152600960205260409020805463ffffffff8416908110610c8f57610c8f612258565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b6000546001600160a01b03163314610d295760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e9565b6001600160a01b038116610da55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105e9565b61068d8161171a565b610db88282610e4b565b6003546001600160e01b031015610e375760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201527f766572666c6f77696e6720766f7465730000000000000000000000000000000060648201526084016105e9565b610e45600a610f3283611845565b50505050565b6001600160a01b038216610ea15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105e9565b8060036000828254610eb39190612232565b90915550506001600160a01b03821660009081526001602052604081208054839290610ee0908490612232565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a361067f600083836119be565b60006106148284612232565b60006001600160e01b03821115610fbd5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f323420626974730000000000000000000000000000000000000000000000000060648201526084016105e9565b5090565b600063ffffffff821115610fbd5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b038381166000908152600860205260408082205485841683529120546108f4929182169116836119c9565b60006106148284612245565b6001600160a01b0383166110f65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b0382166111725760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600260209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e4557818110156112705760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105e9565b610e45848484840361107b565b6001600160a01b0383166112f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b0382166113755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b038316600090815260016020526040902054818110156114045760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b0380851660009081526001602052604080822085850390559185168152908120805484929061143b908490612232565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161148791815260200190565b60405180910390a3610e458484846119be565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156114f357507f000000000000000000000000000000000000000000000000000000000000000046145b1561151d57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b8154600090815b818110156116255760006115dc8284611b06565b9050848682815481106115f1576115f1612258565b60009182526020909120015463ffffffff1611156116115780925061161f565b61161c816001612232565b91505b506115c8565b81156116695784611637600184612245565b8154811061164757611647612258565b60009182526020909120015464010000000090046001600160e01b031661166c565b60005b6001600160e01b031695945050505050565b61067f8282610dae565b6001600160a01b03828116600081815260086020818152604080842080546001845282862054949093528787167fffffffffffffffffffffffff00000000000000000000000000000000000000008416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610e458284836119c9565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61067f8282611b21565b600061052461179961149a565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061180687878787611b39565b9150915061181381611c26565b5095945050505050565b6001600160a01b03811660009081526006602052604090208054600181018255905b50919050565b825460009081908015611890578561185e600183612245565b8154811061186e5761186e612258565b60009182526020909120015464010000000090046001600160e01b0316611893565b60005b6001600160e01b031692506118ac83858763ffffffff16565b91506000811180156118ea575043866118c6600184612245565b815481106118d6576118d6612258565b60009182526020909120015463ffffffff16145b1561194a576118f882610f3e565b86611904600184612245565b8154811061191457611914612258565b9060005260206000200160000160046101000a8154816001600160e01b0302191690836001600160e01b031602179055506119b5565b85604051806040016040528061195f43610fc1565b63ffffffff16815260200161197385610f3e565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b50935093915050565b6108f483838361103d565b816001600160a01b0316836001600160a01b0316141580156119eb5750600081115b156108f4576001600160a01b03831615611a79576001600160a01b03831660009081526009602052604081208190611a269061106f85611845565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611a6e929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108f4576001600160a01b03821660009081526009602052604081208190611aaf90610f3285611845565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611af7929190918252602082015260400190565b60405180910390a25050505050565b6000611b15600284841861226e565b61061490848416612232565b611b2b8282611e12565b610e45600a61106f83611845565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611b705750600090506003611c1d565b8460ff16601b14158015611b8857508460ff16601c14155b15611b995750600090506004611c1d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611bed573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611c1657600060019250925050611c1d565b9150600090505b94509492505050565b6000816004811115611c3a57611c3a612290565b03611c425750565b6001816004811115611c5657611c56612290565b03611ca35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105e9565b6002816004811115611cb757611cb7612290565b03611d045760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105e9565b6003816004811115611d1857611d18612290565b03611d8b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016105e9565b6004816004811115611d9f57611d9f612290565b0361068d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b038216611e8e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b03821660009081526001602052604090205481811015611f1d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016105e9565b6001600160a01b0383166000908152600160205260408120838303905560038054849290611f4c908490612245565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36108f4836000846119be565b600060208083528351808285015260005b81811015611fcb57858101830151858201604001528201611faf565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461200357600080fd5b919050565b6000806040838503121561201b57600080fd5b61202483611fec565b946020939093013593505050565b60008060006060848603121561204757600080fd5b61205084611fec565b925061205e60208501611fec565b9150604084013590509250925092565b60006020828403121561208057600080fd5b61061482611fec565b60006020828403121561209b57600080fd5b5035919050565b803560ff8116811461200357600080fd5b60008060008060008060c087890312156120cc57600080fd5b6120d587611fec565b955060208701359450604087013593506120f1606088016120a2565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561212657600080fd5b61212f88611fec565b965061213d60208901611fec565b95506040880135945060608801359350612159608089016120a2565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561218857600080fd5b61219183611fec565b915061219f60208401611fec565b90509250929050565b600080604083850312156121bb57600080fd5b6121c483611fec565b9150602083013563ffffffff811681146121dd57600080fd5b809150509250929050565b600181811c908216806121fc57607f821691505b60208210810361183f57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156105245761052461221c565b818103818111156105245761052461221c565b634e487b7160e01b600052603260045260246000fd5b60008261228b57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202540150a56559a6ca921c079638e482bb97facff03699c96ea9e269df4944b9064736f6c63430008110033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724"; + +type UXPTokenConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UXPTokenConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UXPToken__factory extends ContractFactory { + constructor(...args: UXPTokenConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + custodian: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(custodian, overrides || {}) as Promise; + } + override getDeployTransaction( + custodian: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(custodian, overrides || {}); + } + override attach(address: string): UXPToken { + return super.attach(address) as UXPToken; + } + override connect(signer: Signer): UXPToken__factory { + return super.connect(signer) as UXPToken__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UXPTokenInterface { + return new utils.Interface(_abi) as UXPTokenInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): UXPToken { + return new Contract(address, _abi, signerOrProvider) as UXPToken; + } +} diff --git a/src/typechain-types/factories/contracts/governance/index.ts b/src/typechain-types/factories/contracts/governance/index.ts new file mode 100644 index 0000000..2885330 --- /dev/null +++ b/src/typechain-types/factories/contracts/governance/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { UXDCouncilToken__factory } from "./UXDCouncilToken__factory"; +export { UXDGovernor__factory } from "./UXDGovernor__factory"; +export { UXDTimelockController__factory } from "./UXDTimelockController__factory"; +export { UXPToken__factory } from "./UXPToken__factory"; diff --git a/src/typechain-types/factories/contracts/index.ts b/src/typechain-types/factories/contracts/index.ts new file mode 100644 index 0000000..a84c18b --- /dev/null +++ b/src/typechain-types/factories/contracts/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as core from "./core"; +export * as external from "./external"; +export * as governance from "./governance"; +export * as integrations from "./integrations"; +export * as test from "./test"; diff --git a/src/typechain-types/factories/contracts/integrations/IDepository__factory.ts b/src/typechain-types/factories/contracts/integrations/IDepository__factory.ts new file mode 100644 index 0000000..430ae15 --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/IDepository__factory.ts @@ -0,0 +1,149 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IDepository, + IDepositoryInterface, +} from "../../../contracts/integrations/IDepository"; + +const _abi = [ + { + inputs: [], + name: "assetToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "depositInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getUnrealizedPnl", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amountToRedeem", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdrawInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class IDepository__factory { + static readonly abi = _abi; + static createInterface(): IDepositoryInterface { + return new utils.Interface(_abi) as IDepositoryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IDepository { + return new Contract(address, _abi, signerOrProvider) as IDepository; + } +} diff --git a/src/typechain-types/factories/contracts/integrations/ISwapper__factory.ts b/src/typechain-types/factories/contracts/integrations/ISwapper__factory.ts new file mode 100644 index 0000000..e95a311 --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/ISwapper__factory.ts @@ -0,0 +1,77 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + ISwapper, + ISwapperInterface, +} from "../../../contracts/integrations/ISwapper"; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "tokenIn", + type: "address", + }, + { + internalType: "address", + name: "tokenOut", + type: "address", + }, + { + internalType: "uint256", + name: "amountIn", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOutMinimum", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "uint24", + name: "poolFee", + type: "uint24", + }, + ], + internalType: "struct SwapParams", + name: "params", + type: "tuple", + }, + ], + name: "swapExactInput", + outputs: [ + { + internalType: "uint256", + name: "amountOut", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class ISwapper__factory { + static readonly abi = _abi; + static createInterface(): ISwapperInterface { + return new utils.Interface(_abi) as ISwapperInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): ISwapper { + return new Contract(address, _abi, signerOrProvider) as ISwapper; + } +} diff --git a/src/typechain-types/factories/contracts/integrations/index.ts b/src/typechain-types/factories/contracts/integrations/index.ts new file mode 100644 index 0000000..4c5543f --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as perp from "./perp"; +export * as rageTrade from "./rage-trade"; +export * as uniswap from "./uniswap"; +export { IDepository__factory } from "./IDepository__factory"; +export { ISwapper__factory } from "./ISwapper__factory"; diff --git a/src/typechain-types/factories/contracts/integrations/perp/PerpAccountProxy__factory.ts b/src/typechain-types/factories/contracts/integrations/perp/PerpAccountProxy__factory.ts new file mode 100644 index 0000000..a63715d --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/perp/PerpAccountProxy__factory.ts @@ -0,0 +1,407 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../common"; +import type { + PerpAccountProxy, + PerpAccountProxyInterface, +} from "../../../../contracts/integrations/perp/PerpAccountProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_accountContract", + type: "address", + }, + { + internalType: "address", + name: "_clearingHouse", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getAccountInfo", + outputs: [ + { + components: [ + { + internalType: "int256", + name: "takerPositionSize", + type: "int256", + }, + { + internalType: "int256", + name: "takerOpenNotional", + type: "int256", + }, + { + internalType: "int256", + name: "lastTwPremiumGrowthGlobalX96", + type: "int256", + }, + ], + internalType: "struct AccountMarket.Info", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getAccountValue", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "getBalanceByToken", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getFreeCollateral", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint24", + name: "ratio", + type: "uint24", + }, + ], + name: "getFreeCollateralByRatio", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "getFreeCollateralByToken", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getPnlAndPendingFee", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + { + internalType: "int256", + name: "", + type: "int256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getTotalAbsPositionValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getTotalDebtValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTotalOpenNotional", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTotalPositionSize", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "baseToken", + type: "address", + }, + ], + name: "getTotalPositionValue", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "perpAccount", + outputs: [ + { + internalType: "contract IAccountBalance", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "perpClearingHouse", + outputs: [ + { + internalType: "contract IClearingHouse", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051610bee380380610bee83398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610b30806100be6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636332fef61161008c5780636ccdc82e116100665780636ccdc82e146101fa578063b39456901461020d578063bba85bcf14610220578063c39994441461024e57600080fd5b80636332fef61461019f57806368f12e12146101d4578063698a6ef8146101e757600080fd5b80633f935107116100c85780633f9351071461013b5780633ffd13031461014e5780635ae8095114610161578063616516f21461017457600080fd5b806312ca1d17146100ef578063293a5077146101155780632e40a51b14610128575b600080fd5b6101026100fd366004610987565b610261565b6040519081526020015b60405180910390f35b6101026101233660046109c0565b610367565b610102610136366004610987565b6103f6565b610102610149366004610987565b6104b7565b61010261015c3660046109dd565b61054f565b61010261016f3660046109c0565b610613565b600154610187906001600160a01b031681565b6040516001600160a01b03909116815260200161010c565b6101b26101ad366004610987565b61065f565b604080518251815260208084015190820152918101519082015260600161010c565b6101026101e2366004610987565b610712565b600054610187906001600160a01b031681565b6101026102083660046109c0565b610766565b61010261021b366004610987565b6107b2565b61023361022e3660046109c0565b610806565b6040805193845260208401929092529082015260600161010c565b61010261025c3660046109c0565b61089e565b60008054604080516311b2515f60e31b8152905183926001600160a01b031691638d928af89160048083019260209291908290030181865afa1580156102ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102cf9190610a13565b6040517f12ca1d170000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301528581166024830152919250908216906312ca1d17906044015b602060405180830381865afa15801561033b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035f9190610a30565b949350505050565b600080546040517f293a50770000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301529091169063293a5077906024015b602060405180830381865afa1580156103cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f09190610a30565b92915050565b60008054604080516311b2515f60e31b8152905183926001600160a01b031691638d928af89160048083019260209291908290030181865afa158015610440573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104649190610a13565b6040517f2e40a51b0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152858116602483015291925090821690632e40a51b9060440161031e565b600080546040517f3f9351070000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152848116602483015290911690633f935107906044015b602060405180830381865afa158015610524573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105489190610a30565b9392505050565b60008054604080516311b2515f60e31b8152905183926001600160a01b031691638d928af89160048083019260209291908290030181865afa158015610599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bd9190610a13565b6040517f3ffd13030000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015262ffffff8616602483015291925090821690633ffd13039060440161031e565b6001546040517f5ae809510000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635ae80951906024016103af565b61068360405180606001604052806000815260200160008152602001600081525090565b6000546040517f6332fef60000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152848116602483015290911690636332fef690604401606060405180830381865afa1580156106ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105489190610a49565b600080546040517f68f12e120000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301528481166024830152909116906368f12e1290604401610507565b600080546040517f6ccdc82e0000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015290911690636ccdc82e906024016103af565b600080546040517fb39456900000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015284811660248301529091169063b394569090604401610507565b600080546040517fbba85bcf0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528392839291169063bba85bcf90602401606060405180830381865afa15801561086d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108919190610acc565b9250925092509193909250565b60008054604080516311b2515f60e31b8152905183926001600160a01b031691638d928af89160048083019260209291908290030181865afa1580156108e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090c9190610a13565b6040517fc39994440000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529192509082169063c399944490602401602060405180830381865afa158015610524573d6000803e3d6000fd5b6001600160a01b038116811461098457600080fd5b50565b6000806040838503121561099a57600080fd5b82356109a58161096f565b915060208301356109b58161096f565b809150509250929050565b6000602082840312156109d257600080fd5b81356105488161096f565b600080604083850312156109f057600080fd5b82356109fb8161096f565b9150602083013562ffffff811681146109b557600080fd5b600060208284031215610a2557600080fd5b81516105488161096f565b600060208284031215610a4257600080fd5b5051919050565b600060608284031215610a5b57600080fd5b6040516060810181811067ffffffffffffffff82111715610aa5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508251815260208301516020820152604083015160408201528091505092915050565b600080600060608486031215610ae157600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220fcde85b1d1d87b2e0b20ae011093b96c0fb7984edee8fee96f77caef3a29a41864736f6c63430008110033"; + +type PerpAccountProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: PerpAccountProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class PerpAccountProxy__factory extends ContractFactory { + constructor(...args: PerpAccountProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + _accountContract: PromiseOrValue, + _clearingHouse: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy( + _accountContract, + _clearingHouse, + overrides || {} + ) as Promise; + } + override getDeployTransaction( + _accountContract: PromiseOrValue, + _clearingHouse: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction( + _accountContract, + _clearingHouse, + overrides || {} + ); + } + override attach(address: string): PerpAccountProxy { + return super.attach(address) as PerpAccountProxy; + } + override connect(signer: Signer): PerpAccountProxy__factory { + return super.connect(signer) as PerpAccountProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): PerpAccountProxyInterface { + return new utils.Interface(_abi) as PerpAccountProxyInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): PerpAccountProxy { + return new Contract(address, _abi, signerOrProvider) as PerpAccountProxy; + } +} diff --git a/src/typechain-types/factories/contracts/integrations/perp/PerpDepositoryStorage__factory.ts b/src/typechain-types/factories/contracts/integrations/perp/PerpDepositoryStorage__factory.ts new file mode 100644 index 0000000..89506bc --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/perp/PerpDepositoryStorage__factory.ts @@ -0,0 +1,322 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + PerpDepositoryStorage, + PerpDepositoryStorageInterface, +} from "../../../../contracts/integrations/perp/PerpDepositoryStorage"; + +const _abi = [ + { + inputs: [], + name: "assetDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "assetToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "clearingHouse", + outputs: [ + { + internalType: "contract IClearingHouse", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "controller", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "depositInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getUnrealizedPnl", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "market", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "marketRegistry", + outputs: [ + { + internalType: "contract IMarketRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteMinted", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amountToRedeem", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemableSoftCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeemableUnderManagement", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "spotSwapper", + outputs: [ + { + internalType: "contract ISwapper", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalFeesPaid", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "vault", + outputs: [ + { + internalType: "contract IVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdrawInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +export class PerpDepositoryStorage__factory { + static readonly abi = _abi; + static createInterface(): PerpDepositoryStorageInterface { + return new utils.Interface(_abi) as PerpDepositoryStorageInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): PerpDepositoryStorage { + return new Contract( + address, + _abi, + signerOrProvider + ) as PerpDepositoryStorage; + } +} diff --git a/src/typechain-types/factories/contracts/integrations/perp/PerpDepository__factory.ts b/src/typechain-types/factories/contracts/integrations/perp/PerpDepository__factory.ts new file mode 100644 index 0000000..7206636 --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/perp/PerpDepository__factory.ts @@ -0,0 +1,1125 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../common"; +import type { + PerpDepository, + PerpDepositoryInterface, +} from "../../../../contracts/integrations/perp/PerpDepository"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "AddressNotContract", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assetDeposits", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsufficientAssetDeposits", + type: "error", + }, + { + inputs: [ + { + internalType: "int256", + name: "allowance", + type: "int256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsufficientPnl", + type: "error", + }, + { + inputs: [ + { + internalType: "int256", + name: "balance", + type: "int256", + }, + ], + name: "InvalidQuoteTokenBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + ], + name: "InvalidRebalance", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "NotApproved", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "NotController", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "PositivePnlRebalanceDisabled", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "QuoteRedeemDisabled", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softcap", + type: "uint256", + }, + { + internalType: "uint256", + name: "newBasePosition", + type: "uint256", + }, + ], + name: "RedeemableSoftCapHit", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "UnsupportedAsset", + type: "error", + }, + { + inputs: [], + name: "ZeroAmount", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "beacon", + type: "address", + }, + ], + name: "BeaconUpgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceWithdrawn", + 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: "bool", + name: "isShort", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "amountIsInput", + type: "bool", + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + ], + name: "PositionOpened", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "baseAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "quoteAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "int256", + name: "shortfall", + type: "int256", + }, + ], + name: "Rebalanced", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newSoftCap", + type: "uint256", + }, + ], + name: "RedeemableSoftCapUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + inputs: [], + name: "HUNDRED_PERCENT", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VERSION", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "assetDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "assetToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "clearingHouse", + outputs: [ + { + internalType: "contract IClearingHouse", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "controller", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "depositInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getAccountValue", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCurrentState", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "assetDeposited", + type: "uint256", + }, + { + internalType: "uint256", + name: "insuranceDeposited", + type: "uint256", + }, + { + internalType: "uint256", + name: "redeemableUnderManagement", + type: "uint256", + }, + { + internalType: "uint256", + name: "totalFeesPaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "redeemableSoftCap", + type: "uint256", + }, + ], + internalType: "struct DepositoryState", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getDebtValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchangeFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchangeFeeWad", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getFreeCollateral", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32", + name: "twapInterval", + type: "uint32", + }, + ], + name: "getMarkPriceTwap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getPositionValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUnrealizedPnl", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_vault", + type: "address", + }, + { + internalType: "address", + name: "_clearingHouse", + type: "address", + }, + { + internalType: "address", + name: "_marketRegistry", + type: "address", + }, + { + internalType: "address", + name: "_futuresMarket", + type: "address", + }, + { + internalType: "address", + name: "_assetToken", + type: "address", + }, + { + internalType: "address", + name: "_quoteToken", + type: "address", + }, + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "insuranceDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "market", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "marketRegistry", + outputs: [ + { + internalType: "contract IMarketRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proxiableUUID", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteMinted", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOutMinimum", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "uint24", + name: "swapPoolFee", + type: "uint24", + }, + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "rebalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "rebalanceLite", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemableSoftCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeemableUnderManagement", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + name: "setController", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softCap", + type: "uint256", + }, + ], + name: "setRedeemableSoftCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_swapper", + type: "address", + }, + ], + name: "setSpotSwapper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "spotSwapper", + outputs: [ + { + internalType: "contract ISwapper", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalFeesPaid", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + 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: "vault", + outputs: [ + { + internalType: "contract IVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdrawInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x60a06040523060805234801561001457600080fd5b5060805161479861004c60003960008181610cd701528181610d6d015281816112de01528181611374015261182e01526147986000f3fe6080604052600436106102d15760003560e01c80635ae8095111610179578063be3519a2116100d6578063ecb96fe61161008a578063f77c479111610064578063f77c479114610790578063fbfa77cf146107b1578063ffa1ad74146107d157600080fd5b8063ecb96fe61461073b578063f084c24b1461075b578063f2fde38b1461077057600080fd5b8063de2b1ff2116100bb578063de2b1ff2146106e4578063e9fd586214610704578063ebf5a9081461071b57600080fd5b8063be3519a2146106b8578063bedfc05d146106cf57600080fd5b806389b211af1161012d57806392eefe9b1161011257806392eefe9b1461066c578063b44b3a8f1461068c578063bdf7f54e146106a157600080fd5b806389b211af1461062e5780638da5cb5b1461064e57600080fd5b80636f1874171161015e5780636f187417146105e3578063715018a6146105f857806380f556051461060d57600080fd5b80635ae80951146105ac5780636ed93dd0146105cc57600080fd5b80633659cfe61161023257806347e7ef24116101e65780634f1ef286116101c05780634f1ef286146105645780634f3de3a91461057757806352d1902d1461059757600080fd5b806347e7ef24146104ef578063487b00c21461050f5780634a2accc21461054457600080fd5b806338086bd31161021757806338086bd3146104a357806339af3a81146104b85780633c94de54146104d857600080fd5b80633659cfe61461042c578063378aa7011461044c57600080fd5b8063190e03ec11610289578063217a4b701161026e578063217a4b70146103d357806323ae7152146103f3578063358764761461040a57600080fd5b8063190e03ec146103935780631e9a6950146103b357600080fd5b80630af96800116102ba5780630af96800146103325780630f324233146103525780631083f7611461037257600080fd5b806307159868146102d6578063093bec701461030d575b600080fd5b3480156102e257600080fd5b5060ff546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561031957600080fd5b506103246101035481565b604051908152602001610304565b34801561033e57600080fd5b5060fc546102f0906001600160a01b031681565b34801561035e57600080fd5b5061032461036d36600461408c565b61081d565b34801561037e57600080fd5b50610100546102f0906001600160a01b031681565b34801561039f57600080fd5b5060fe546102f0906001600160a01b031681565b3480156103bf57600080fd5b506103246103ce3660046140c7565b610954565b3480156103df57600080fd5b5060ff546102f0906001600160a01b031681565b3480156103ff57600080fd5b506103246101045481565b34801561041657600080fd5b5061042a6104253660046140f3565b610a31565b005b34801561043857600080fd5b5061042a610447366004614189565b610ccd565b34801561045857600080fd5b50610461610e6a565b6040516103049190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b3480156104af57600080fd5b50610324610ed7565b3480156104c457600080fd5b5061042a6104d3366004614189565b610f91565b3480156104e457600080fd5b506103246101075481565b3480156104fb57600080fd5b5061032461050a3660046140c7565b61104d565b34801561051b57600080fd5b5061052f61052a3660046141b8565b6110d2565b60408051928352602083019190915201610304565b34801561055057600080fd5b5061052f61055f36600461421a565b6111d1565b61042a61057236600461429e565b6112d4565b34801561058357600080fd5b5061042a610592366004614362565b611462565b3480156105a357600080fd5b50610324611821565b3480156105b857600080fd5b506103246105c7366004614189565b6118e6565b3480156105d857600080fd5b50610324620f424081565b3480156105ef57600080fd5b5061032461196e565b34801561060457600080fd5b5061042a6119f9565b34801561061957600080fd5b50610101546102f0906001600160a01b031681565b34801561063a57600080fd5b5061042a610649366004614362565b611a5f565b34801561065a57600080fd5b506097546001600160a01b03166102f0565b34801561067857600080fd5b5061042a610687366004614189565b611cb5565b34801561069857600080fd5b50610324611d72565b3480156106ad57600080fd5b506103246101085481565b3480156106c457600080fd5b506103246101055481565b3480156106db57600080fd5b50610324611ea3565b3480156106f057600080fd5b5061042a6106ff366004614392565b611f3c565b34801561071057600080fd5b506103246101065481565b34801561072757600080fd5b50610324610736366004614189565b611ff5565b34801561074757600080fd5b5060fd546102f0906001600160a01b031681565b34801561076757600080fd5b506103246123a3565b34801561077c57600080fd5b5061042a61078b366004614189565b6123bb565b34801561079c57600080fd5b50610102546102f0906001600160a01b031681565b3480156107bd57600080fd5b5060fb546102f0906001600160a01b031681565b3480156107dd57600080fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161030491906143cf565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b8152600401602060405180830381865afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108979190614402565b610101546040517f99e4a7710000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff8616602482015291925060009161094c9161094791908516906399e4a77190604401602060405180830381865afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109399190614402565b6001600160a01b031661249a565b6124bd565b949350505050565b610102546000906001600160a01b0316331461098a57604051633338cdbd60e11b81523360048201526024015b60405180910390fd5b610100546001600160a01b03908116908416036109cf5760006109ac836124df565b50610102549091506109c89082906001600160a01b031661251a565b9050610a2b565b60ff546001600160a01b03908116908416036109ee576109c882612664565b6040517fee84f40b0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610981565b92915050565b6000610a3d6001612845565b90508015610a55576000805461ff0019166101001790555b610a5d612997565b610a65612a1c565b60408051600780825261010082019092526000916020820160e0803683370190505090508881600081518110610a9d57610a9d61441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508781600181518110610ad157610ad161441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508681600281518110610b0557610b0561441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600381518110610b3957610b3961441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508481600481518110610b6d57610b6d61441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600581518110610ba157610ba161441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600681518110610bd557610bd561441f565b60200260200101906001600160a01b031690816001600160a01b031681525050610bfe81612a99565b5060fb805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b038b81169190911790925560fc805482168a841617905560fd80548216898416179055610101805482168884161790556101008054821687841617905560ff8054821686841617905561010280549091169184169190911790558015610cc3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d6b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610981565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dc67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610e425760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610981565b610e4b81612b33565b60408051600080825260208201909252610e6791839190612b8d565b50565b610e9c6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528061010354815260200161010454815260200161010554815260200161010654815260200161010754815250905090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526000928392169063edd0b5cb90602401602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f659190614435565b62ffffff169050610f8b620f4240610f8583670de0b6b3a7640000612d2d565b90612d49565b91505090565b6097546001600160a01b03163314610feb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b6001600160a01b0381163b61101e5760405163247e970160e01b81526001600160a01b0382166004820152602401610981565b60fe805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610102546000906001600160a01b0316331461107e57604051633338cdbd60e11b8152336004820152602401610981565b610100546001600160a01b03908116908416036110b35761109e82612d5e565b60006110a983612e5d565b9250610a2b915050565b60ff546001600160a01b03908116908416036109ee576109c882612ea0565b600080600260c954036111275760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c955600085900b1961114a57611141868585613028565b915091506111c1565b8460000b600103611189576040517f6d1c2776000000000000000000000000000000000000000000000000000000008152336004820152602401610981565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600086900b6004820152602401610981565b600160c955909590945092505050565b600080600260c954036112265760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c955600084900b1961124b576112428888888887613367565b915091506112c2565b8360000b60010361128a576040517f6d1c2776000000000000000000000000000000000000000000000000000000008152336004820152602401610981565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600085900b6004820152602401610981565b600160c9559097909650945050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036113725760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610981565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166113cd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146114495760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610981565b61145282612b33565b61145e82826001612b8d565b5050565b600260c954036114b45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c9556097546001600160a01b031633146115135760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b8160000361153457604051631f2a200560e01b815260040160405180910390fd5b600061154860ff546001600160a01b031690565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152919091169063dd62ed3e90604401602060405180830381865afa1580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d39190614452565b905082811015611619576040517f991213190000000000000000000000000000000000000000000000000000000081526004810182905260248101849052604401610981565b82610104600082825461162c9190614481565b909155505060ff546001600160a01b03166040516323b872dd60e01b81526001600160a01b0384811660048301523060248301526044820186905291909116906323b872dd906064016020604051808303816000875af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b89190614494565b5060ff546001600160a01b031660fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b3906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b9190614494565b5060fb546001600160a01b03166347e7ef2461175f60ff546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101869052604401600060405180830381600087803b1580156117bf57600080fd5b505af11580156117d3573d6000803e3d6000fd5b50506040518581526001600160a01b03851692503391507f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f69060200160405180910390a35050600160c95550565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118c15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610981565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60fc546040517f5ae809510000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635ae8095190602401602060405180830381865afa15801561194a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2b9190614452565b60fb546040517fc39994440000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b03169063c399944490602401602060405180830381865afa1580156119d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f49190614452565b905090565b6097546001600160a01b03163314611a535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b611a5d600061385c565b565b600260c95403611ab15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c9556097546001600160a01b03163314611b105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b81600003611b3157604051631f2a200560e01b815260040160405180910390fd5b816101046000828254611b4491906144b6565b909155505060fb546001600160a01b031663f3fef3a3611b6c60ff546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b50505050611bf660ff546001600160a01b031690565b60405163a9059cbb60e01b81526001600160a01b03838116600483015260248201859052919091169063a9059cbb906044016020604051808303816000875af1158015611c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6b9190614494565b506040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e9060200160405180910390a35050600160c955565b6097546001600160a01b03163314611d0f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b6001600160a01b0381163b611d425760405163247e970160e01b81526001600160a01b0382166004820152602401610981565b610102805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080611d7f600f61081d565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfa9190614402565b610101546040517fb2e271480000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03918216602482015291169063b2e2714890604401602060405180830381865afa158015611e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e879190614452565b9050611e9c611e95826138bb565b8390612d2d565b9250505090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600092919091169063edd0b5cb90602401602060405180830381865afa158015611f0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f329190614435565b62ffffff16905090565b6097546001600160a01b03163314611f965760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b80600003611fb757604051631f2a200560e01b815260040160405180910390fd5b61010781905560405181815233907f34bdcf409ce95f734fb7583240c6266616d468cf38e556801bdb3e7e8733a5559060200160405180910390a250565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206f9190614402565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ea9190614402565b60fb546040517ff8b2cb4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529293506000929091169063f8b2cb4f90602401602060405180830381865afa158015612153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121779190614452565b905060008112156121b7576040517fb817602800000000000000000000000000000000000000000000000000000000815260048101829052602401610981565b6040517f80f57f110000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152600091908416906380f57f1190602401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190614452565b905060006122c560ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc91906144c9565b849060126138da565b6040517fbba85bcf0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015291925060009182919088169063bba85bcf90602401606060405180830381865afa15801561232d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235191906144ec565b9250925050600084828486612366919061451a565b6123709190614542565b61237a9190614542565b9050600081136123925761238d816138bb565b612395565b60005b9a9950505050505050505050565b60006123ad611d72565b610105546119f49190614542565b6097546001600160a01b031633146124155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b6001600160a01b0381166124915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610981565b610e678161385c565b6000610a2b6001600160a01b038316806c01000000000000000000000000613906565b6000610a2b82670de0b6b3a76400006c01000000000000000000000000613906565b6000806000806124f485600060016000613a7f565b9150915080610105600082825461250b91906144b6565b90915550919590945092505050565b6101035482111561256657610103546040517ff6c28f78000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610981565b81610103600082825461257991906144b6565b909155505060fb546101005460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b1580156125cf57600080fd5b505af11580156125e3573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb91506044016020604051808303816000875af115801561263b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265f9190614494565b505050565b610102546000906001600160a01b0316331461269557604051633338cdbd60e11b8152336004820152602401610981565b61269e82613c22565b8161010860008282546126b19190614542565b925050819055508161010560008282546126cb91906144b6565b925050819055506000612758601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561272c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275091906144c9565b8591906138da565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101849052929350169063f3fef3a390604401600060405180830381600087803b1580156127aa57600080fd5b505af11580156127be573d6000803e3d6000fd5b505060ff546101025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018690529116925063a9059cbb91506044016020604051808303816000875af1158015612818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283c9190614494565b5090505b919050565b60008054610100900460ff16156128e2578160ff1660011480156128685750303b155b6128da5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610981565b506000919050565b60005460ff80841691161061295f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610981565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055600190565b600054610100900460ff16612a145760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610981565b611a5d613c7e565b600054610100900460ff16611a5d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610981565b60005b815181101561145e57612ada828281518110612aba57612aba61441f565b60200260200101516001600160a01b03166001600160a01b03163b151590565b612b2157818181518110612af057612af061441f565b602002602001015160405163247e970160e01b815260040161098191906001600160a01b0391909116815260200190565b80612b2b81614569565b915050612a9c565b6097546001600160a01b03163314610e675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612bc05761265f83613d04565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612c1a575060408051601f3d908101601f19168201909252612c1791810190614452565b60015b612c8c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610981565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612d215760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610981565b5061265f838383613dcf565b6000612d428383670de0b6b3a7640000613dfa565b9392505050565b6000612d4283670de0b6b3a764000084613e28565b806101036000828254612d719190614481565b90915550506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af1158015612dcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df09190614494565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b158015612e4257600080fd5b505af1158015612e56573d6000803e3d6000fd5b5050505050565b600080600080612e71856001806000613a7f565b91509150806101056000828254612e889190614481565b90915550612e969050613e47565b9094909350915050565b600080612ef960ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612298573d6000803e3d6000fd5b9050612f0481613e98565b806101086000828254612f17919061451a565b92505081905550806101056000828254612f319190614481565b90915550612f3f9050613e47565b60ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b3906044016020604051808303816000875af1158015612f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb89190614494565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b15801561300957600080fd5b505af115801561301d573d6000803e3d6000fd5b509295945050505050565b60008060006130b060ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a791906144c9565b879060126138da565b90506130bb81613e98565b60ff546040516323b872dd60e01b81526001600160a01b03868116600483015230602483015260448201899052909116906323b872dd906064016020604051808303816000875af1158015613114573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131389190614494565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810189905291169063095ea7b3906044016020604051808303816000875af115801561318e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b29190614494565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018990529116906347e7ef2490604401600060405180830381600087803b15801561320357600080fd5b505af1158015613217573d6000803e3d6000fd5b50505050600080600190506000806132318585858c613a7f565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561328757600080fd5b505af115801561329b573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052909116925063a9059cbb91506044016020604051808303816000875af11580156132f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133179190614494565b50604080518381526020810183905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a190999098509650505050505050565b60008060006133ef60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e691906144c9565b899060126138da565b90506133fa81613e98565b60006001818061340c8582858d613a7f565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561346257600080fd5b505af1158015613476573d6000803e3d6000fd5b5050505060006040518060c0016040528061010060009054906101000a90046001600160a01b03166001600160a01b0316815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031681526020018481526020018d81526020018c6001600160a01b031681526020018b62ffffff168152509050600060fe60009054906101000a90046001600160a01b03166001600160a01b03166368e32802836040518263ffffffff1660e01b815260040161358c9190600060c0820190506001600160a01b0380845116835280602085015116602084015260408401516040840152606084015160608401528060808501511660808401525062ffffff60a08401511660a083015292915050565b6020604051808303816000875af11580156135ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135cf9190614452565b9050600081613658601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561362c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061365091906144c9565b8791906138da565b6136629190614542565b905060008113156136f05760ff546040516323b872dd60e01b81526001600160a01b038d8116600483015230602483015260448201849052909116906323b872dd906064016020604051808303816000875af11580156136c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ea9190614494565b5061379d565b600081121561379d5760ff546001600160a01b031663a9059cbb8c613714846138bb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015613777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061379b9190614494565b505b60fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018790529116906347e7ef2490604401600060405180830381600087803b1580156137ed57600080fd5b505af1158015613801573d6000803e3d6000fd5b505060408051888152602081018890529081018490527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9250606001905060405180910390a150929d919c50909a5050505050505050505050565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000808212156138d6576138d182600019614583565b610a2b565b5090565b60006138e783600a6146b3565b6138f283600a6146b3565b6138fc90866146c2565b61094c91906146d9565b600080806000198587098587029250828110838203039150508060000361393f576000841161393457600080fd5b508290049050612d42565b80841161394b57600080fd5b600084868809808403938111909203919050600061396b86196001614481565b861695869004959384900493600081900304600101905061398c81846146c2565b90931792600061399d8760036146c2565b60021890506139ac81886146c2565b6139b79060026144b6565b6139c190826146c2565b90506139cd81886146c2565b6139d89060026144b6565b6139e290826146c2565b90506139ee81886146c2565b6139f99060026144b6565b613a0390826146c2565b9050613a0f81886146c2565b613a1a9060026144b6565b613a2490826146c2565b9050613a3081886146c2565b613a3b9060026144b6565b613a4590826146c2565b9050613a5181886146c2565b613a5c9060026144b6565b613a6690826146c2565b9050613a7281866146c2565b9998505050505050505050565b6040805161010081018252610101546001600160a01b03908116825285151560208301908152851515838501908152606084018981526000608086018181524260a0880190815289871660c0890190815260e0890184815260fc549a517fb6b1b6c30000000000000000000000000000000000000000000000000000000081528a518a16600482015297511515602489015295511515604488015293516064870152905160848601525160a48501529051841660c4840152905160e48301529384938493909284928392169063b6b1b6c3906101040160408051808303816000875af1158015613b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b9791906146fb565b915091506000613ba682613efb565b9050806101066000828254613bbb9190614481565b9091555050604080518b15158152602081018d90528a1515818301526001600160a01b038a16606082015290517f9a15d84188925e678e5ac0dacda00aa8a73ebe2346741b3b64fc9919f494bbe49181900360800190a15090999098509650505050505050565b6000613c2c6123a3565b9050600081131580613c3d57508181105b1561145e576040517f1f04c58a0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610981565b600054610100900460ff16613cfb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610981565b611a5d3361385c565b6001600160a01b0381163b613d815760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610981565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b613dd883613f08565b600082511180613de55750805b1561265f57613df48383613f48565b50505050565b828202811515841585830485141716613e1257600080fd5b6001826001830304018115150290509392505050565b828202811515841585830485141716613e4057600080fd5b0492915050565b61010754610105541115611a5d5761010754610105546040517fdc681c5a00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610981565b6000613ea26123a3565b9050600081121580613c3d575081613eb9826138bb565b101561145e576040517f1f04c58a0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610981565b6000610a2b611e95610ed7565b613f1181613d04565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b613fc75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610981565b600080846001600160a01b031684604051613fe2919061471f565b600060405180830381855af49150503d806000811461401d576040519150601f19603f3d011682016040523d82523d6000602084013e614022565b606091505b509150915061404a828260405180606001604052806027815260200161473c60279139614053565b95945050505050565b60608315614062575081612d42565b8251156140725782518084602001fd5b8160405162461bcd60e51b815260040161098191906143cf565b60006020828403121561409e57600080fd5b813563ffffffff81168114612d4257600080fd5b6001600160a01b0381168114610e6757600080fd5b600080604083850312156140da57600080fd5b82356140e5816140b2565b946020939093013593505050565b600080600080600080600060e0888a03121561410e57600080fd5b8735614119816140b2565b96506020880135614129816140b2565b95506040880135614139816140b2565b94506060880135614149816140b2565b93506080880135614159816140b2565b925060a0880135614169816140b2565b915060c0880135614179816140b2565b8091505092959891949750929550565b60006020828403121561419b57600080fd5b8135612d42816140b2565b8035600081900b811461284057600080fd5b600080600080608085870312156141ce57600080fd5b843593506141de602086016141a6565b925060408501356141ee816140b2565b915060608501356141fe816140b2565b939692955090935050565b62ffffff81168114610e6757600080fd5b60008060008060008060c0878903121561423357600080fd5b8635955060208701359450604087013561424c816140b2565b9350606087013561425c81614209565b925061426a608088016141a6565b915060a087013561427a816140b2565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156142b157600080fd5b82356142bc816140b2565b9150602083013567ffffffffffffffff808211156142d957600080fd5b818501915085601f8301126142ed57600080fd5b8135818111156142ff576142ff614288565b604051601f8201601f19908116603f0116810190838211818310171561432757614327614288565b8160405282815288602084870101111561434057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806040838503121561437557600080fd5b823591506020830135614387816140b2565b809150509250929050565b6000602082840312156143a457600080fd5b5035919050565b60005b838110156143c65781810151838201526020016143ae565b50506000910152565b60208152600082518060208401526143ee8160408501602087016143ab565b601f01601f19169190910160400192915050565b60006020828403121561441457600080fd5b8151612d42816140b2565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561444757600080fd5b8151612d4281614209565b60006020828403121561446457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a2b57610a2b61446b565b6000602082840312156144a657600080fd5b81518015158114612d4257600080fd5b81810381811115610a2b57610a2b61446b565b6000602082840312156144db57600080fd5b815160ff81168114612d4257600080fd5b60008060006060848603121561450157600080fd5b8351925060208401519150604084015190509250925092565b808201828112600083128015821682158216171561453a5761453a61446b565b505092915050565b81810360008312801583831316838312821617156145625761456261446b565b5092915050565b6000600019820361457c5761457c61446b565b5060010190565b808202600082127f8000000000000000000000000000000000000000000000000000000000000000841416156145bb576145bb61446b565b8181058314821517610a2b57610a2b61446b565b600181815b8085111561460a5781600019048211156145f0576145f061446b565b808516156145fd57918102915b93841c93908002906145d4565b509250929050565b60008261462157506001610a2b565b8161462e57506000610a2b565b8160018114614644576002811461464e5761466a565b6001915050610a2b565b60ff84111561465f5761465f61446b565b50506001821b610a2b565b5060208310610133831016604e8410600b841016171561468d575081810a610a2b565b61469783836145cf565b80600019048211156146ab576146ab61446b565b029392505050565b6000612d4260ff841683614612565b8082028115828204841417610a2b57610a2b61446b565b6000826146f657634e487b7160e01b600052601260045260246000fd5b500490565b6000806040838503121561470e57600080fd5b505080516020909101519092909150565b600082516147318184602087016143ab565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c52abbfaa43a61a1ec0ce08237591359e1d4782c8a29abff27813962a111dca164736f6c63430008110033"; + +type PerpDepositoryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: PerpDepositoryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class PerpDepository__factory extends ContractFactory { + constructor(...args: PerpDepositoryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): PerpDepository { + return super.attach(address) as PerpDepository; + } + override connect(signer: Signer): PerpDepository__factory { + return super.connect(signer) as PerpDepository__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): PerpDepositoryInterface { + return new utils.Interface(_abi) as PerpDepositoryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): PerpDepository { + return new Contract(address, _abi, signerOrProvider) as PerpDepository; + } +} diff --git a/src/typechain-types/factories/contracts/integrations/perp/index.ts b/src/typechain-types/factories/contracts/integrations/perp/index.ts new file mode 100644 index 0000000..328a0dc --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/perp/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { PerpAccountProxy__factory } from "./PerpAccountProxy__factory"; +export { PerpDepository__factory } from "./PerpDepository__factory"; +export { PerpDepositoryStorage__factory } from "./PerpDepositoryStorage__factory"; diff --git a/src/typechain-types/factories/contracts/integrations/rage-trade/RageDnDepository__factory.ts b/src/typechain-types/factories/contracts/integrations/rage-trade/RageDnDepository__factory.ts new file mode 100644 index 0000000..8a6d4ef --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/rage-trade/RageDnDepository__factory.ts @@ -0,0 +1,656 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../common"; +import type { + RageDnDepository, + RageDnDepositoryInterface, +} from "../../../../contracts/integrations/rage-trade/RageDnDepository"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_vault", + type: "address", + }, + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "int256", + name: "pnl", + type: "int256", + }, + ], + name: "NoProfits", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "NotApproved", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "NotContractAddress", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "NotController", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softcap", + type: "uint256", + }, + { + internalType: "uint256", + name: "totalRedeemable", + type: "uint256", + }, + ], + name: "RedeemableSoftCapHit", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "UnsupportedAsset", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "redeemable", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceWithdrawn", + 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: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newSoftCap", + type: "uint256", + }, + ], + name: "RedeemableSoftCapUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "redeemable", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Redeemed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "redeemable", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdrawn", + type: "event", + }, + { + inputs: [], + name: "assetToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "controller", + outputs: [ + { + internalType: "contract IUXDController", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "assetAmount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "depositInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getDepositoryAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getDepositoryShares", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUnrealizedPnl", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceDeposits", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "netAssetDeposits", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "realizedPnl", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "redeemableAmount", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemable", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeemableSoftCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeemableUnderManagement", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softCap", + type: "uint256", + }, + ], + name: "setRedeemableSoftCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "vault", + outputs: [ + { + internalType: "contract IDnGmxSeniorVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawProfits", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b5060405162001bcf38038062001bcf833981016040819052620000349162000318565b6200003f33620002a0565b6001808190555062000065826001600160a01b0316620002f060201b62000f4c1760201c565b620000935760405163a77cdf3160e01b81526001600160a01b03831660048201526024015b60405180910390fd5b620000b2816001600160a01b0316620002f060201b62000f4c1760201c565b620000dc5760405163a77cdf3160e01b81526001600160a01b03821660048201526024016200008a565b600280546001600160a01b038085166001600160a01b031992831681179093556003805491851691909216179055604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa15801562000146573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016c919062000357565b600480546001600160a01b0319166001600160a01b03928316178155600254604080516338d52e0f60e01b8152905191909316926338d52e0f92818101926020929091908290030181865afa158015620001ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f0919062000357565b600580546001600160a01b0319166001600160a01b0392831617905560035460408051632d7ecd1160e01b815290519190921691632d7ecd1191600480830192602092919082900301816000875af115801562000251573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000277919062000357565b600680546001600160a01b0319166001600160a01b0392909216919091179055506200037e9050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03163b151590565b6001600160a01b03811681146200031557600080fd5b50565b600080604083850312156200032c57600080fd5b82516200033981620002ff565b60208401519092506200034c81620002ff565b809150509250929050565b6000602082840312156200036a57600080fd5b81516200037781620002ff565b9392505050565b611841806200038e6000396000f3fe608060405234801561001057600080fd5b50600436106101805760003560e01c8063715018a6116100d8578063de2b1ff21161008c578063f2fde38b11610066578063f2fde38b146102bb578063f77c4791146102ce578063fbfa77cf146102e157600080fd5b8063de2b1ff214610298578063e23d2b32146102ab578063f084c24b146102b357600080fd5b80638da5cb5b116100bd5780638da5cb5b146102755780639e708d4914610286578063be3519a21461028f57600080fd5b8063715018a61461025a57806389b211af1461026257600080fd5b80631e9a69501161013a5780633c94de54116101145780633c94de541461022b57806347e7ef24146102345780634f3de3a91461024757600080fd5b80631e9a6950146101fd5780631fdb6d1d146102105780632d7ecd111461021857600080fd5b8063071598681161016b57806307159868146101b657806309158de7146101e15780631083f761146101ea57600080fd5b8062362a7714610185578062d8aae91461019a575b600080fd5b6101986101933660046114d1565b6102f4565b005b6101a3600b5481565b6040519081526020015b60405180910390f35b6005546101c9906001600160a01b031681565b6040516001600160a01b0390911681526020016101ad565b6101a3600a5481565b6004546101c9906001600160a01b031681565b6101a361020b3660046114ec565b610491565b6101a361063d565b6006546101c9906001600160a01b031681565b6101a360075481565b6101a36102423660046114ec565b61072f565b610198610255366004611516565b61097f565b610198610b6e565b610198610270366004611516565b610bd4565b6000546001600160a01b03166101c9565b6101a360095481565b6101a360085481565b6101986102a6366004611542565b610d65565b6101a3610dfc565b6101a3610e46565b6101986102c93660046114d1565b610e6a565b6003546101c9906001600160a01b031681565b6002546101c9906001600160a01b031681565b6000546001600160a01b031633146103535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6002600154036103a55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161034a565b600260015560006103b4610e46565b9050600081136103f3576040517fb21ffb400000000000000000000000000000000000000000000000000000000081526004810182905260240161034a565b600254604051632d182be560e21b8152600481018390526001600160a01b0384811660248301523060448301528392169063b460af94906064016020604051808303816000875af115801561044c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610470919061155b565b5080600b600082825461048391906115a3565b909155505060018055505050565b6003546000906001600160a01b031633146104da576040517f66719b7a00000000000000000000000000000000000000000000000000000000815233600482015260240161034a565b6004546001600160a01b0384811691161461052c576040517fee84f40b0000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161034a565b600061053783610f5b565b9050826008600082825461054b91906115b6565b92505081905550806009600082825461056491906115b6565b9091555050600254600354604051632d182be560e21b8152600481018490526001600160a01b039182166024820152306044820152600092919091169063b460af94906064016020604051808303816000875af11580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed919061155b565b604080518481526020810187905290810182905290915033907f75e161b3e824b114fc1a33274bd7091918dd4e639cede50b78b15a4eea956a219060600160405180910390a25090505b92915050565b6002546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b0316906307a2d13a9082906370a0823190602401602060405180830381865afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb919061155b565b6040518263ffffffff1660e01b81526004016106e991815260200190565b602060405180830381865afa158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a919061155b565b905090565b6003546000906001600160a01b03163314610778576040517f66719b7a00000000000000000000000000000000000000000000000000000000815233600482015260240161034a565b6004546001600160a01b038481169116146107ca576040517fee84f40b0000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260240161034a565b81600960008282546107dc91906115a3565b9091555050600480546002546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182169381019390935260248301859052169063095ea7b3906044016020604051808303816000875af1158015610851573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087591906115c9565b506002546040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018490523060248201526000916001600160a01b031690636e553f65906044016020604051808303816000875af11580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610905919061155b565b9050600061091284611063565b9050806008600082825461092691906115a3565b90915550610934905061113e565b604080518581526020810183905290810183905233907f91ede45f04a37a7c170f5c1207df3b6bc748dc1e04ad5e917a241d0f52feada39060600160405180910390a2949350505050565b6000546001600160a01b031633146109d95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034a565b81600a60008282546109eb91906115a3565b9091555050600554610a08906001600160a01b031682308561118b565b6005546002546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810185905291169063095ea7b3906044016020604051808303816000875af1158015610a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9a91906115c9565b506002546040517f6e553f65000000000000000000000000000000000000000000000000000000008152600481018490523060248201526001600160a01b0390911690636e553f65906044016020604051808303816000875af1158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b29919061155b565b506040518281526001600160a01b0382169033907f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f69060200160405180910390a35050565b6000546001600160a01b03163314610bc85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034a565b610bd26000611219565b565b6000546001600160a01b03163314610c2e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034a565b600260015403610c805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161034a565b600260018190555081600a6000828254610c9a91906115b6565b9091555050600254604051632d182be560e21b8152600481018490526001600160a01b0383811660248301523060448301529091169063b460af94906064016020604051808303816000875af1158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c919061155b565b506040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e9060200160405180910390a3505060018055565b6000546001600160a01b03163314610dbf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034a565b600781905560405181815233907f34bdcf409ce95f734fb7583240c6266616d468cf38e556801bdb3e7e8733a5559060200160405180910390a250565b6002546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b0316906370a08231906024016106e9565b6000600a54600954610e5891906115a3565b610e6061063d565b61072a91906115eb565b6000546001600160a01b03163314610ec45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034a565b6001600160a01b038116610f405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161034a565b610f4981611219565b50565b6001600160a01b03163b151590565b6000610637600660009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd79190611612565b60048054604080517f313ce56700000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169263313ce5679282820192602092908290030181865afa158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190611612565b849190611281565b60048054604080517f313ce5670000000000000000000000000000000000000000000000000000000081529051600093610637936001600160a01b03169263313ce56792818301926020928290030181865afa1580156110c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110eb9190611612565b600660009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611037573d6000803e3d6000fd5b6007546008541115610bd2576007546008546040517fdc681c5a0000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161034a565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526112139085906112b7565b50505050565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061128e83600a611719565b61129983600a611719565b6112a39086611728565b6112ad919061173f565b90505b9392505050565b600061130c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113a19092919063ffffffff16565b80519091501561139c578080602001905181019061132a91906115c9565b61139c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161034a565b505050565b60606112ad8484600085856001600160a01b0385163b6114035760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161034a565b600080866001600160a01b0316858760405161141f919061179e565b60006040518083038185875af1925050503d806000811461145c576040519150601f19603f3d011682016040523d82523d6000602084013e611461565b606091505b509150915061147182828661147c565b979650505050505050565b6060831561148b5750816112b0565b82511561149b5782518084602001fd5b8160405162461bcd60e51b815260040161034a91906117ba565b80356001600160a01b03811681146114cc57600080fd5b919050565b6000602082840312156114e357600080fd5b6112b0826114b5565b600080604083850312156114ff57600080fd5b611508836114b5565b946020939093013593505050565b6000806040838503121561152957600080fd5b82359150611539602084016114b5565b90509250929050565b60006020828403121561155457600080fd5b5035919050565b60006020828403121561156d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561063757610637611574565b8181038181111561063757610637611574565b6000602082840312156115db57600080fd5b815180151581146112b057600080fd5b818103600083128015838313168383128216171561160b5761160b611574565b5092915050565b60006020828403121561162457600080fd5b815160ff811681146112b057600080fd5b600181815b8085111561167057816000190482111561165657611656611574565b8085161561166357918102915b93841c939080029061163a565b509250929050565b60008261168757506001610637565b8161169457506000610637565b81600181146116aa57600281146116b4576116d0565b6001915050610637565b60ff8411156116c5576116c5611574565b50506001821b610637565b5060208310610133831016604e8410600b84101617156116f3575081810a610637565b6116fd8383611635565b806000190482111561171157611711611574565b029392505050565b60006112b060ff841683611678565b808202811582820484141761063757610637611574565b600082611775577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b8381101561179557818101518382015260200161177d565b50506000910152565b600082516117b081846020870161177a565b9190910192915050565b60208152600082518060208401526117d981604085016020870161177a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220ffb0291b5bb683ba6af58cead0fde7776872d8268f5738d34d75fbc105a7352f64736f6c63430008110033"; + +type RageDnDepositoryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: RageDnDepositoryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class RageDnDepository__factory extends ContractFactory { + constructor(...args: RageDnDepositoryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + _vault: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy( + _vault, + _controller, + overrides || {} + ) as Promise; + } + override getDeployTransaction( + _vault: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(_vault, _controller, overrides || {}); + } + override attach(address: string): RageDnDepository { + return super.attach(address) as RageDnDepository; + } + override connect(signer: Signer): RageDnDepository__factory { + return super.connect(signer) as RageDnDepository__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): RageDnDepositoryInterface { + return new utils.Interface(_abi) as RageDnDepositoryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): RageDnDepository { + return new Contract(address, _abi, signerOrProvider) as RageDnDepository; + } +} diff --git a/src/typechain-types/factories/contracts/integrations/rage-trade/index.ts b/src/typechain-types/factories/contracts/integrations/rage-trade/index.ts new file mode 100644 index 0000000..3e7f0b5 --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/rage-trade/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { RageDnDepository__factory } from "./RageDnDepository__factory"; diff --git a/src/typechain-types/factories/contracts/integrations/uniswap/Uniswapper__factory.ts b/src/typechain-types/factories/contracts/integrations/uniswap/Uniswapper__factory.ts new file mode 100644 index 0000000..8d8ab97 --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/uniswap/Uniswapper__factory.ts @@ -0,0 +1,140 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../common"; +import type { + Uniswapper, + UniswapperInterface, +} from "../../../../contracts/integrations/uniswap/Uniswapper"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract ISwapRouter", + name: "_swapRouter", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "tokenIn", + type: "address", + }, + { + internalType: "address", + name: "tokenOut", + type: "address", + }, + { + internalType: "uint256", + name: "amountIn", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOutMinimum", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "uint24", + name: "poolFee", + type: "uint24", + }, + ], + internalType: "struct SwapParams", + name: "params", + type: "tuple", + }, + ], + name: "swapExactInput", + outputs: [ + { + internalType: "uint256", + name: "amountOut", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "swapRouter", + outputs: [ + { + internalType: "contract ISwapRouter", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x60a060405234801561001057600080fd5b5060405161076b38038061076b83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516106d46100976000396000818160660152818160cd01526101db01526106d46000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806368e328021461003b578063c31c9c0714610061575b600080fd5b61004e61004936600461057c565b6100ad565b6040519081526020015b60405180910390f35b6100887f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610058565b60006100c3826000015133308560400151610252565b6100f682600001517f000000000000000000000000000000000000000000000000000000000000000084604001516103d0565b6040805161010081018252835173ffffffffffffffffffffffffffffffffffffffff9081168252602080860151821690830190815260a08087015162ffffff908116858701908152336060808801918252426080808a019182528c8b0151968a01968752918c015160c08a01908152918c0151881660e08a0190815299517f414bf389000000000000000000000000000000000000000000000000000000008152895189166004820152965188166024880152925190931660448601525185166064850152516084840152905160a48301525160c48201529251811660e484015290917f00000000000000000000000000000000000000000000000000000000000000009091169063414bf38990610104016020604051808303816000875af1158015610227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024b9190610634565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916102f1919061064d565b6000604051808303816000865af19150503d806000811461032e576040519150601f19603f3d011682016040523d82523d6000602084013e610333565b606091505b509150915081801561035d57508051158061035d57508080602001905181019061035d919061067c565b6103c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f535446000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790529151600092839290871691610467919061064d565b6000604051808303816000865af19150503d80600081146104a4576040519150601f19603f3d011682016040523d82523d6000602084013e6104a9565b606091505b50915091508180156104d35750805115806104d35750808060200190518101906104d3919061067c565b610539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f534100000000000000000000000000000000000000000000000000000000000060448201526064016103bf565b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461056457600080fd5b919050565b803562ffffff8116811461056457600080fd5b600060c0828403121561058e57600080fd5b60405160c0810181811067ffffffffffffffff821117156105d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526105e483610540565b81526105f260208401610540565b6020820152604083013560408201526060830135606082015261061760808401610540565b608082015261062860a08401610569565b60a08201529392505050565b60006020828403121561064657600080fd5b5051919050565b6000825160005b8181101561066e5760208186018101518583015201610654565b506000920191825250919050565b60006020828403121561068e57600080fd5b8151801515811461024b57600080fdfea26469706673582212209ca90f1af03437b3ff7e1b96fa1d09dbecd2d2d89fad45d6fbe44710ce4a167e64736f6c63430008110033"; + +type UniswapperConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UniswapperConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Uniswapper__factory extends ContractFactory { + constructor(...args: UniswapperConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + _swapRouter: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(_swapRouter, overrides || {}) as Promise; + } + override getDeployTransaction( + _swapRouter: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(_swapRouter, overrides || {}); + } + override attach(address: string): Uniswapper { + return super.attach(address) as Uniswapper; + } + override connect(signer: Signer): Uniswapper__factory { + return super.connect(signer) as Uniswapper__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UniswapperInterface { + return new utils.Interface(_abi) as UniswapperInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Uniswapper { + return new Contract(address, _abi, signerOrProvider) as Uniswapper; + } +} diff --git a/src/typechain-types/factories/contracts/integrations/uniswap/index.ts b/src/typechain-types/factories/contracts/integrations/uniswap/index.ts new file mode 100644 index 0000000..a1f45da --- /dev/null +++ b/src/typechain-types/factories/contracts/integrations/uniswap/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Uniswapper__factory } from "./Uniswapper__factory"; diff --git a/src/typechain-types/factories/contracts/test/MockController__factory.ts b/src/typechain-types/factories/contracts/test/MockController__factory.ts new file mode 100644 index 0000000..68e6221 --- /dev/null +++ b/src/typechain-types/factories/contracts/test/MockController__factory.ts @@ -0,0 +1,130 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + MockController, + MockControllerInterface, +} from "../../../contracts/test/MockController"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "depository", + outputs: [ + { + internalType: "contract IDepository", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_depository", + type: "address", + }, + ], + name: "updateDepository", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5061041d806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806347e7ef241461005157806369328dec14610066578063bedd12a514610079578063c461fb1f146100c2575b600080fd5b61006461005f366004610324565b610117565b005b61006461007436600461034e565b6101b9565b6000546100999073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100646100d036600461038a565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000546040517f47e7ef2400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052909116906347e7ef24906044016020604051808303816000875af1158015610190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b491906103ac565b505050565b600080546040517f1e9a695000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526024820186905290911690631e9a6950906044016020604051808303816000875af1158015610233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025791906103ac565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af11580156102d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f491906103c5565b5050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461031f57600080fd5b919050565b6000806040838503121561033757600080fd5b610340836102fb565b946020939093013593505050565b60008060006060848603121561036357600080fd5b61036c846102fb565b925060208401359150610381604085016102fb565b90509250925092565b60006020828403121561039c57600080fd5b6103a5826102fb565b9392505050565b6000602082840312156103be57600080fd5b5051919050565b6000602082840312156103d757600080fd5b815180151581146103a557600080fdfea2646970667358221220c1821d4df788bce2eaf0785476aff4271cbff6874d2a835211e7e7d1df31e14b64736f6c63430008110033"; + +type MockControllerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MockControllerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MockController__factory extends ContractFactory { + constructor(...args: MockControllerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): MockController { + return super.attach(address) as MockController; + } + override connect(signer: Signer): MockController__factory { + return super.connect(signer) as MockController__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MockControllerInterface { + return new utils.Interface(_abi) as MockControllerInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockController { + return new Contract(address, _abi, signerOrProvider) as MockController; + } +} diff --git a/src/typechain-types/factories/contracts/test/MockPerpAccountBalance__factory.ts b/src/typechain-types/factories/contracts/test/MockPerpAccountBalance__factory.ts new file mode 100644 index 0000000..125989d --- /dev/null +++ b/src/typechain-types/factories/contracts/test/MockPerpAccountBalance__factory.ts @@ -0,0 +1,146 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + MockPerpAccountBalance, + MockPerpAccountBalanceInterface, +} from "../../../contracts/test/MockPerpAccountBalance"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "getTotalAbsPositionValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "market", + type: "address", + }, + ], + name: "getTotalOpenNotional", + outputs: [ + { + internalType: "int256", + name: "totalOpenNotional", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "market", + type: "address", + }, + { + internalType: "int256", + name: "value", + type: "int256", + }, + ], + name: "setOpenNotional", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "positionValue", + type: "uint256", + }, + ], + name: "setPositionValue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5061021f806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063078b2853146100515780636ccdc82e146100985780639b63600c146100bf578063b3945690146100d2575b600080fd5b61009661005f36600461013f565b73ffffffffffffffffffffffffffffffffffffffff9283166000908152602081815260408083209490951682529290925291902055565b005b6100ad6100a636600461017b565b5060015490565b60405190815260200160405180910390f35b6100966100cd36600461019d565b600155565b6100ad6100e03660046101b6565b73ffffffffffffffffffffffffffffffffffffffff91821660009081526020818152604080832093909416825291909152205490565b803573ffffffffffffffffffffffffffffffffffffffff8116811461013a57600080fd5b919050565b60008060006060848603121561015457600080fd5b61015d84610116565b925061016b60208501610116565b9150604084013590509250925092565b60006020828403121561018d57600080fd5b61019682610116565b9392505050565b6000602082840312156101af57600080fd5b5035919050565b600080604083850312156101c957600080fd5b6101d283610116565b91506101e060208401610116565b9050925092905056fea26469706673582212207a8a930ce5fa270a250864627855bfe49156ce3175c7073541bb03a565b9f07164736f6c63430008110033"; + +type MockPerpAccountBalanceConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MockPerpAccountBalanceConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MockPerpAccountBalance__factory extends ContractFactory { + constructor(...args: MockPerpAccountBalanceConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): MockPerpAccountBalance { + return super.attach(address) as MockPerpAccountBalance; + } + override connect(signer: Signer): MockPerpAccountBalance__factory { + return super.connect(signer) as MockPerpAccountBalance__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MockPerpAccountBalanceInterface { + return new utils.Interface(_abi) as MockPerpAccountBalanceInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockPerpAccountBalance { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockPerpAccountBalance; + } +} diff --git a/src/typechain-types/factories/contracts/test/MockPerpClearingHouse__factory.ts b/src/typechain-types/factories/contracts/test/MockPerpClearingHouse__factory.ts new file mode 100644 index 0000000..6299cb6 --- /dev/null +++ b/src/typechain-types/factories/contracts/test/MockPerpClearingHouse__factory.ts @@ -0,0 +1,227 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + MockPerpClearingHouse, + MockPerpClearingHouseInterface, +} from "../../../contracts/test/MockPerpClearingHouse"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "baseToken", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "isBaseToQuote", + type: "bool", + }, + { + indexed: false, + internalType: "bool", + name: "isExactInput", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "oppositeAmountBound", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + indexed: false, + internalType: "bytes32", + name: "referralCode", + type: "bytes32", + }, + ], + name: "OpenPositionCalled", + type: "event", + }, + { + inputs: [], + name: "getAccountBalance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "multiplier", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "bool", + name: "isBaseToQuote", + type: "bool", + }, + { + internalType: "bool", + name: "isExactInput", + type: "bool", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "oppositeAmountBound", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "bytes32", + name: "referralCode", + type: "bytes32", + }, + ], + internalType: "struct IClearingHouse.OpenPositionParams", + name: "params", + type: "tuple", + }, + ], + name: "openPosition", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "balanceContract", + type: "address", + }, + ], + name: "setAccountBalance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x6080604052606460015534801561001557600080fd5b5061039e806100256000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063199387cc146100515780631b3ed722146100a85780636896fabf146100c4578063b6b1b6c3146100ec575b600080fd5b6100a661005f36600461021d565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b005b6100b160015481565b6040519081526020015b60405180910390f35b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100bb565b6100ff6100fa366004610251565b610114565b604080519283526020830191909152016100bb565b6000807feaaf466916e36649932f768f3fca4649aa020dd3b0ddfdea63a3b757ca44520c836000015184602001518560400151866060015187608001518860a001518960c001518a60e001516040516101c598979695949392919073ffffffffffffffffffffffffffffffffffffffff9889168152961515602088015294151560408701526060860193909352608085019190915260a084015290921660c082015260e08101919091526101000190565b60405180910390a160608301516001546101df9082610324565b91509150915091565b73ffffffffffffffffffffffffffffffffffffffff8116811461020a57600080fd5b50565b8035610218816101e8565b919050565b60006020828403121561022f57600080fd5b813561023a816101e8565b9392505050565b8035801515811461021857600080fd5b600061010080838503121561026557600080fd5b6040519081019067ffffffffffffffff821181831017156102af577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b816040526102bc8461020d565b81526102ca60208501610241565b60208201526102db60408501610241565b6040820152606084013560608201526080840135608082015260a084013560a082015261030a60c0850161020d565b60c082015260e084013560e0820152809250505092915050565b8082028115828204841417610362577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea26469706673582212203506bf227daeb8cbce245d63ed431b30ae3c27f563988f052059d0bb6ac08f0f64736f6c63430008110033"; + +type MockPerpClearingHouseConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MockPerpClearingHouseConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MockPerpClearingHouse__factory extends ContractFactory { + constructor(...args: MockPerpClearingHouseConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): MockPerpClearingHouse { + return super.attach(address) as MockPerpClearingHouse; + } + override connect(signer: Signer): MockPerpClearingHouse__factory { + return super.connect(signer) as MockPerpClearingHouse__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MockPerpClearingHouseInterface { + return new utils.Interface(_abi) as MockPerpClearingHouseInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockPerpClearingHouse { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockPerpClearingHouse; + } +} diff --git a/src/typechain-types/factories/contracts/test/MockPerpMarketRegistry__factory.ts b/src/typechain-types/factories/contracts/test/MockPerpMarketRegistry__factory.ts new file mode 100644 index 0000000..74e423e --- /dev/null +++ b/src/typechain-types/factories/contracts/test/MockPerpMarketRegistry__factory.ts @@ -0,0 +1,86 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + MockPerpMarketRegistry, + MockPerpMarketRegistryInterface, +} from "../../../contracts/test/MockPerpMarketRegistry"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "getFeeRatio", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060c38061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063edd0b5cb14602d575b600080fd5b604060383660046052565b506298968090565b60405190815260200160405180910390f35b600060208284031215606357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114608657600080fd5b939250505056fea264697066735822122054deed69c9a9a2d0ec32dce2c3c439b538cbe679311dd254554ed86bd7d53a3664736f6c63430008110033"; + +type MockPerpMarketRegistryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MockPerpMarketRegistryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MockPerpMarketRegistry__factory extends ContractFactory { + constructor(...args: MockPerpMarketRegistryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): MockPerpMarketRegistry { + return super.attach(address) as MockPerpMarketRegistry; + } + override connect(signer: Signer): MockPerpMarketRegistry__factory { + return super.connect(signer) as MockPerpMarketRegistry__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MockPerpMarketRegistryInterface { + return new utils.Interface(_abi) as MockPerpMarketRegistryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockPerpMarketRegistry { + return new Contract( + address, + _abi, + signerOrProvider + ) as MockPerpMarketRegistry; + } +} diff --git a/src/typechain-types/factories/contracts/test/MockPerpVault__factory.ts b/src/typechain-types/factories/contracts/test/MockPerpVault__factory.ts new file mode 100644 index 0000000..54474a2 --- /dev/null +++ b/src/typechain-types/factories/contracts/test/MockPerpVault__factory.ts @@ -0,0 +1,105 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + MockPerpVault, + MockPerpVaultInterface, +} from "../../../contracts/test/MockPerpVault"; + +const _abi = [ + { + anonymous: false, + inputs: [], + name: "DepositCalled", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610203806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806347e7ef241461003b578063f3fef3a314610050575b600080fd5b61004e61004936600461015f565b610063565b005b61004e61005e36600461015f565b610106565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810182905273ffffffffffffffffffffffffffffffffffffffff8316906323b872dd906064015b6020604051808303816000875af11580156100dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010191906101a4565b505050565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb906044016100be565b6000806040838503121561017257600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461019657600080fd5b946020939093013593505050565b6000602082840312156101b657600080fd5b815180151581146101c657600080fd5b939250505056fea26469706673582212207278bdd75fd3e7a87294634b2396e1140ae89ebf7c39828b59f8061e88d7184e64736f6c63430008110033"; + +type MockPerpVaultConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MockPerpVaultConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MockPerpVault__factory extends ContractFactory { + constructor(...args: MockPerpVaultConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): MockPerpVault { + return super.attach(address) as MockPerpVault; + } + override connect(signer: Signer): MockPerpVault__factory { + return super.connect(signer) as MockPerpVault__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MockPerpVaultInterface { + return new utils.Interface(_abi) as MockPerpVaultInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MockPerpVault { + return new Contract(address, _abi, signerOrProvider) as MockPerpVault; + } +} diff --git a/src/typechain-types/factories/contracts/test/TestDepository__factory.ts b/src/typechain-types/factories/contracts/test/TestDepository__factory.ts new file mode 100644 index 0000000..b23a37d --- /dev/null +++ b/src/typechain-types/factories/contracts/test/TestDepository__factory.ts @@ -0,0 +1,514 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + TestDepository, + TestDepositoryInterface, +} from "../../../contracts/test/TestDepository"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "CollateralDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "CollateralWithdrawnTo", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceWithdrawn", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "collateral", + type: "address", + }, + ], + name: "LongOpened", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "collateral", + type: "address", + }, + ], + name: "ShortOpened", + type: "event", + }, + { + inputs: [], + name: "assetToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "collateralDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "depositInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getExchangeFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "getExchangeFeeWad", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "getPositionValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "getUnrealizedPnl", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_futuresMarket", + type: "address", + }, + { + internalType: "address", + name: "_baseToken", + type: "address", + }, + { + internalType: "address", + name: "_insuranceToken", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "insuranceDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "insuranceToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "market", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "processQuoteMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "processQuoteRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "quoteToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemableSoftCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "redeemableUnderManagement", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "totalFeesPaid", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdrawInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b506104f9806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636311d06a116100cd578063bedfc05d11610081578063e4bdc4d211610066578063e4bdc4d2146102b9578063e9fd5862146101e8578063f084c24b146101e857600080fd5b8063bedfc05d146101e8578063c0c53b8b1461025357600080fd5b806389b211af116100b257806389b211af14610240578063b44b3a8f146101e8578063be3519a2146101e857600080fd5b80636311d06a146101e857806380f556051461022d57600080fd5b806334e0e38b116101245780633c94de54116101095780633c94de54146101e857806347e7ef24146102055780634f3de3a91461021857600080fd5b806334e0e38b146101ef57806338086bd3146101e857600080fd5b80631e9a6950116101555780631e9a6950146101b4578063217a4b70146101d557806323ae7152146101e857600080fd5b806307159868146101715780631083f761146101a1575b600080fd5b600054610184906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600154610184906001600160a01b031681565b6101c76101c2366004610411565b6102cd565b604051908152602001610198565b600254610184906001600160a01b031681565b60006101c7565b6101c76101fd36600461043b565b600092915050565b6101c7610213366004610411565b610325565b61022b61022636600461043b565b610373565b005b600354610184906001600160a01b031681565b61022b61024e36600461043b565b6103b8565b61022b610261366004610467565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039384161790915560018054821693831693909317909255600380549092169216919091179055565b6101c76102c73660046104aa565b50600090565b6000806001600160a01b0316836001600160a01b03167fe36c22689582439f3bd36f949b8b27053ede7dccd938412982bcaa240b7ca5698460405161031491815260200190565b60405180910390a350600092915050565b6000826001600160a01b03167fd7243f6f8212d5188fd054141cf6ea89cfc0d91facb8c3afe2f88a13584801428360405161036291815260200190565b60405180910390a250600092915050565b6040518281526001600160a01b0382169033907f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f6906020015b60405180910390a35050565b6040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e906020016103ac565b80356001600160a01b038116811461040c57600080fd5b919050565b6000806040838503121561042457600080fd5b61042d836103f5565b946020939093013593505050565b6000806040838503121561044e57600080fd5b8235915061045e602084016103f5565b90509250929050565b60008060006060848603121561047c57600080fd5b610485846103f5565b9250610493602085016103f5565b91506104a1604085016103f5565b90509250925092565b6000602082840312156104bc57600080fd5b503591905056fea26469706673582212202518598ad519be292d2332968685fd3370ecbc6ed624a36ac2a67608bd9d517164736f6c63430008110033"; + +type TestDepositoryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestDepositoryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestDepository__factory extends ContractFactory { + constructor(...args: TestDepositoryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): TestDepository { + return super.attach(address) as TestDepository; + } + override connect(signer: Signer): TestDepository__factory { + return super.connect(signer) as TestDepository__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestDepositoryInterface { + return new utils.Interface(_abi) as TestDepositoryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TestDepository { + return new Contract(address, _abi, signerOrProvider) as TestDepository; + } +} diff --git a/src/typechain-types/factories/contracts/test/TestERC20__factory.ts b/src/typechain-types/factories/contracts/test/TestERC20__factory.ts new file mode 100644 index 0000000..6386978 --- /dev/null +++ b/src/typechain-types/factories/contracts/test/TestERC20__factory.ts @@ -0,0 +1,353 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + TestERC20, + TestERC20Interface, +} from "../../../contracts/test/TestERC20"; + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + 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: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + 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: "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: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + 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", + }, +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b5060405162000e0e38038062000e0e83398101604081905262000034916200022c565b8181600362000044838262000324565b50600462000053828262000324565b505050620000723369d3c21bcecceda10000006200007a60201b60201c565b505062000418565b6001600160a01b038216620000d55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620000e99190620003f0565b90915550506001600160a01b0382166000908152602081905260408120805483929062000118908490620003f0565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018f57600080fd5b81516001600160401b0380821115620001ac57620001ac62000167565b604051601f8301601f19908116603f01168101908282118183101715620001d757620001d762000167565b81604052838152602092508683858801011115620001f457600080fd5b600091505b83821015620002185785820183015181830184015290820190620001f9565b600093810190920192909252949350505050565b600080604083850312156200024057600080fd5b82516001600160401b03808211156200025857600080fd5b62000266868387016200017d565b935060208501519150808211156200027d57600080fd5b506200028c858286016200017d565b9150509250929050565b600181811c90821680620002ab57607f821691505b602082108103620002cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200016257600081815260208120601f850160051c81016020861015620002fb5750805b601f850160051c820191505b818110156200031c5782815560010162000307565b505050505050565b81516001600160401b0381111562000340576200034062000167565b620003588162000351845462000296565b84620002d2565b602080601f831160018114620003905760008415620003775750858301515b600019600386901b1c1916600185901b1785556200031c565b600085815260208120601f198616915b82811015620003c157888601518255948401946001909101908401620003a0565b5085821015620003e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200041257634e487b7160e01b600052601160045260246000fd5b92915050565b6109e680620004286000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e391906107e0565b60405180910390f35b6100ff6100fa366004610868565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f366004610892565b610292565b604051601281526020016100e3565b6100ff610151366004610868565b6102b6565b6101136101643660046108ce565b6001600160a01b031660009081526020819052604090205490565b6100d66102f5565b6100ff610195366004610868565b610304565b6100ff6101a8366004610868565b6103b3565b6101136101bb3660046108f0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610923565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610923565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103c1565b60019150505b92915050565b6000336102a0858285610519565b6102ab8585856105c9565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102f0908790610976565b6103c1565b6060600480546101f590610923565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab82868684036103c1565b6000336102868185856105c9565b6001600160a01b03831661043c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166104b85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105c357818110156105b65760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039d565b6105c384848484036103c1565b50505050565b6001600160a01b0383166106455760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166106c15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b038316600090815260208190526040902054818110156107505760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610787908490610976565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107d391815260200190565b60405180910390a36105c3565b600060208083528351808285015260005b8181101561080d578581018301518582016040015282016107f1565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b80356001600160a01b038116811461086357600080fd5b919050565b6000806040838503121561087b57600080fd5b6108848361084c565b946020939093013593505050565b6000806000606084860312156108a757600080fd5b6108b08461084c565b92506108be6020850161084c565b9150604084013590509250925092565b6000602082840312156108e057600080fd5b6108e98261084c565b9392505050565b6000806040838503121561090357600080fd5b61090c8361084c565b915061091a6020840161084c565b90509250929050565b600181811c9082168061093757607f821691505b602082108103610970577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8082018082111561028c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220d3b68adcbfa94ffdcd15687fce572e0342821f5a27228060e40971c13bcc2e5964736f6c63430008110033"; + +type TestERC20ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestERC20ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestERC20__factory extends ContractFactory { + constructor(...args: TestERC20ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + name: PromiseOrValue, + symbol: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(name, symbol, overrides || {}) as Promise; + } + override getDeployTransaction( + name: PromiseOrValue, + symbol: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(name, symbol, overrides || {}); + } + override attach(address: string): TestERC20 { + return super.attach(address) as TestERC20; + } + override connect(signer: Signer): TestERC20__factory { + return super.connect(signer) as TestERC20__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestERC20Interface { + return new utils.Interface(_abi) as TestERC20Interface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TestERC20 { + return new Contract(address, _abi, signerOrProvider) as TestERC20; + } +} diff --git a/src/typechain-types/factories/contracts/test/TestPerpDepositoryUpgrade__factory.ts b/src/typechain-types/factories/contracts/test/TestPerpDepositoryUpgrade__factory.ts new file mode 100644 index 0000000..e08302b --- /dev/null +++ b/src/typechain-types/factories/contracts/test/TestPerpDepositoryUpgrade__factory.ts @@ -0,0 +1,1129 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + TestPerpDepositoryUpgrade, + TestPerpDepositoryUpgradeInterface, +} from "../../../contracts/test/TestPerpDepositoryUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "AddressNotContract", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assetDeposits", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsufficientAssetDeposits", + type: "error", + }, + { + inputs: [ + { + internalType: "int256", + name: "allowance", + type: "int256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsufficientPnl", + type: "error", + }, + { + inputs: [ + { + internalType: "int256", + name: "balance", + type: "int256", + }, + ], + name: "InvalidQuoteTokenBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + ], + name: "InvalidRebalance", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "NotApproved", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "NotController", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "PositivePnlRebalanceDisabled", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "QuoteRedeemDisabled", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softcap", + type: "uint256", + }, + { + internalType: "uint256", + name: "newBasePosition", + type: "uint256", + }, + ], + name: "RedeemableSoftCapHit", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "UnsupportedAsset", + type: "error", + }, + { + inputs: [], + name: "ZeroAmount", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "beacon", + type: "address", + }, + ], + name: "BeaconUpgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceWithdrawn", + 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: "bool", + name: "isShort", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "amountIsInput", + type: "bool", + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + ], + name: "PositionOpened", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "baseAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "quoteAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "int256", + name: "shortfall", + type: "int256", + }, + ], + name: "Rebalanced", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newSoftCap", + type: "uint256", + }, + ], + name: "RedeemableSoftCapUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + inputs: [], + name: "HUNDRED_PERCENT", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VERSION", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "assetDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "assetToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "clearingHouse", + outputs: [ + { + internalType: "contract IClearingHouse", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "controller", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "depositInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getAccountValue", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCurrentState", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "assetDeposited", + type: "uint256", + }, + { + internalType: "uint256", + name: "insuranceDeposited", + type: "uint256", + }, + { + internalType: "uint256", + name: "redeemableUnderManagement", + type: "uint256", + }, + { + internalType: "uint256", + name: "totalFeesPaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "redeemableSoftCap", + type: "uint256", + }, + ], + internalType: "struct DepositoryState", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getDebtValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchangeFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchangeFeeWad", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getFreeCollateral", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32", + name: "twapInterval", + type: "uint32", + }, + ], + name: "getMarkPriceTwap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getPositionValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUnrealizedPnl", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_vault", + type: "address", + }, + { + internalType: "address", + name: "_clearingHouse", + type: "address", + }, + { + internalType: "address", + name: "_marketRegistry", + type: "address", + }, + { + internalType: "address", + name: "_futuresMarket", + type: "address", + }, + { + internalType: "address", + name: "_assetToken", + type: "address", + }, + { + internalType: "address", + name: "_quoteToken", + type: "address", + }, + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "insuranceDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "market", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "marketRegistry", + outputs: [ + { + internalType: "contract IMarketRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proxiableUUID", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteMinted", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOutMinimum", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "uint24", + name: "swapPoolFee", + type: "uint24", + }, + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "rebalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "rebalanceLite", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemableSoftCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeemableUnderManagement", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + name: "setController", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softCap", + type: "uint256", + }, + ], + name: "setRedeemableSoftCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_swapper", + type: "address", + }, + ], + name: "setSpotSwapper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "spotSwapper", + outputs: [ + { + internalType: "contract ISwapper", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalFeesPaid", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + 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: "vault", + outputs: [ + { + internalType: "contract IVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdrawInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x60a06040523060805234801561001457600080fd5b5060805161479861004c60003960008181610cd701528181610d6d015281816112de01528181611374015261182e01526147986000f3fe6080604052600436106102d15760003560e01c80635ae8095111610179578063be3519a2116100d6578063ecb96fe61161008a578063f77c479111610064578063f77c479114610790578063fbfa77cf146107b1578063ffa1ad74146107d157600080fd5b8063ecb96fe61461073b578063f084c24b1461075b578063f2fde38b1461077057600080fd5b8063de2b1ff2116100bb578063de2b1ff2146106e4578063e9fd586214610704578063ebf5a9081461071b57600080fd5b8063be3519a2146106b8578063bedfc05d146106cf57600080fd5b806389b211af1161012d57806392eefe9b1161011257806392eefe9b1461066c578063b44b3a8f1461068c578063bdf7f54e146106a157600080fd5b806389b211af1461062e5780638da5cb5b1461064e57600080fd5b80636f1874171161015e5780636f187417146105e3578063715018a6146105f857806380f556051461060d57600080fd5b80635ae80951146105ac5780636ed93dd0146105cc57600080fd5b80633659cfe61161023257806347e7ef24116101e65780634f1ef286116101c05780634f1ef286146105645780634f3de3a91461057757806352d1902d1461059757600080fd5b806347e7ef24146104ef578063487b00c21461050f5780634a2accc21461054457600080fd5b806338086bd31161021757806338086bd3146104a357806339af3a81146104b85780633c94de54146104d857600080fd5b80633659cfe61461042c578063378aa7011461044c57600080fd5b8063190e03ec11610289578063217a4b701161026e578063217a4b70146103d357806323ae7152146103f3578063358764761461040a57600080fd5b8063190e03ec146103935780631e9a6950146103b357600080fd5b80630af96800116102ba5780630af96800146103325780630f324233146103525780631083f7611461037257600080fd5b806307159868146102d6578063093bec701461030d575b600080fd5b3480156102e257600080fd5b5060ff546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561031957600080fd5b506103246101035481565b604051908152602001610304565b34801561033e57600080fd5b5060fc546102f0906001600160a01b031681565b34801561035e57600080fd5b5061032461036d36600461408c565b61081d565b34801561037e57600080fd5b50610100546102f0906001600160a01b031681565b34801561039f57600080fd5b5060fe546102f0906001600160a01b031681565b3480156103bf57600080fd5b506103246103ce3660046140c7565b610954565b3480156103df57600080fd5b5060ff546102f0906001600160a01b031681565b3480156103ff57600080fd5b506103246101045481565b34801561041657600080fd5b5061042a6104253660046140f3565b610a31565b005b34801561043857600080fd5b5061042a610447366004614189565b610ccd565b34801561045857600080fd5b50610461610e6a565b6040516103049190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b3480156104af57600080fd5b50610324610ed7565b3480156104c457600080fd5b5061042a6104d3366004614189565b610f91565b3480156104e457600080fd5b506103246101075481565b3480156104fb57600080fd5b5061032461050a3660046140c7565b61104d565b34801561051b57600080fd5b5061052f61052a3660046141b8565b6110d2565b60408051928352602083019190915201610304565b34801561055057600080fd5b5061052f61055f36600461421a565b6111d1565b61042a61057236600461429e565b6112d4565b34801561058357600080fd5b5061042a610592366004614362565b611462565b3480156105a357600080fd5b50610324611821565b3480156105b857600080fd5b506103246105c7366004614189565b6118e6565b3480156105d857600080fd5b50610324620f424081565b3480156105ef57600080fd5b5061032461196e565b34801561060457600080fd5b5061042a6119f9565b34801561061957600080fd5b50610101546102f0906001600160a01b031681565b34801561063a57600080fd5b5061042a610649366004614362565b611a5f565b34801561065a57600080fd5b506097546001600160a01b03166102f0565b34801561067857600080fd5b5061042a610687366004614189565b611cb5565b34801561069857600080fd5b50610324611d72565b3480156106ad57600080fd5b506103246101085481565b3480156106c457600080fd5b506103246101055481565b3480156106db57600080fd5b50610324611ea3565b3480156106f057600080fd5b5061042a6106ff366004614392565b611f3c565b34801561071057600080fd5b506103246101065481565b34801561072757600080fd5b50610324610736366004614189565b611ff5565b34801561074757600080fd5b5060fd546102f0906001600160a01b031681565b34801561076757600080fd5b506103246123a3565b34801561077c57600080fd5b5061042a61078b366004614189565b6123bb565b34801561079c57600080fd5b50610102546102f0906001600160a01b031681565b3480156107bd57600080fd5b5060fb546102f0906001600160a01b031681565b3480156107dd57600080fd5b50604080518082018252600581527f322e302e300000000000000000000000000000000000000000000000000000006020820152905161030491906143cf565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b8152600401602060405180830381865afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108979190614402565b610101546040517f99e4a7710000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff8616602482015291925060009161094c9161094791908516906399e4a77190604401602060405180830381865afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109399190614402565b6001600160a01b031661249a565b6124bd565b949350505050565b610102546000906001600160a01b0316331461098a57604051633338cdbd60e11b81523360048201526024015b60405180910390fd5b610100546001600160a01b03908116908416036109cf5760006109ac836124df565b50610102549091506109c89082906001600160a01b031661251a565b9050610a2b565b60ff546001600160a01b03908116908416036109ee576109c882612664565b6040517fee84f40b0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610981565b92915050565b6000610a3d6001612845565b90508015610a55576000805461ff0019166101001790555b610a5d612997565b610a65612a1c565b60408051600780825261010082019092526000916020820160e0803683370190505090508881600081518110610a9d57610a9d61441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508781600181518110610ad157610ad161441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508681600281518110610b0557610b0561441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508581600381518110610b3957610b3961441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508481600481518110610b6d57610b6d61441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600581518110610ba157610ba161441f565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600681518110610bd557610bd561441f565b60200260200101906001600160a01b031690816001600160a01b031681525050610bfe81612a99565b5060fb805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b038b81169190911790925560fc805482168a841617905560fd80548216898416179055610101805482168884161790556101008054821687841617905560ff8054821686841617905561010280549091169184169190911790558015610cc3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d6b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610981565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dc67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610e425760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610981565b610e4b81612b33565b60408051600080825260208201909252610e6791839190612b8d565b50565b610e9c6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528061010354815260200161010454815260200161010554815260200161010654815260200161010754815250905090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526000928392169063edd0b5cb90602401602060405180830381865afa158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f659190614435565b62ffffff169050610f8b620f4240610f8583670de0b6b3a7640000612d2d565b90612d49565b91505090565b6097546001600160a01b03163314610feb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b6001600160a01b0381163b61101e5760405163247e970160e01b81526001600160a01b0382166004820152602401610981565b60fe805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610102546000906001600160a01b0316331461107e57604051633338cdbd60e11b8152336004820152602401610981565b610100546001600160a01b03908116908416036110b35761109e82612d5e565b60006110a983612e5d565b9250610a2b915050565b60ff546001600160a01b03908116908416036109ee576109c882612ea0565b600080600260c954036111275760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c955600085900b1961114a57611141868585613028565b915091506111c1565b8460000b600103611189576040517f6d1c2776000000000000000000000000000000000000000000000000000000008152336004820152602401610981565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600086900b6004820152602401610981565b600160c955909590945092505050565b600080600260c954036112265760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c955600084900b1961124b576112428888888887613367565b915091506112c2565b8360000b60010361128a576040517f6d1c2776000000000000000000000000000000000000000000000000000000008152336004820152602401610981565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600085900b6004820152602401610981565b600160c9559097909650945050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036113725760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610981565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166113cd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146114495760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610981565b61145282612b33565b61145e82826001612b8d565b5050565b600260c954036114b45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c9556097546001600160a01b031633146115135760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b8160000361153457604051631f2a200560e01b815260040160405180910390fd5b600061154860ff546001600160a01b031690565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152919091169063dd62ed3e90604401602060405180830381865afa1580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d39190614452565b905082811015611619576040517f991213190000000000000000000000000000000000000000000000000000000081526004810182905260248101849052604401610981565b82610104600082825461162c9190614481565b909155505060ff546001600160a01b03166040516323b872dd60e01b81526001600160a01b0384811660048301523060248301526044820186905291909116906323b872dd906064016020604051808303816000875af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b89190614494565b5060ff546001600160a01b031660fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b3906044016020604051808303816000875af1158015611717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173b9190614494565b5060fb546001600160a01b03166347e7ef2461175f60ff546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101869052604401600060405180830381600087803b1580156117bf57600080fd5b505af11580156117d3573d6000803e3d6000fd5b50506040518581526001600160a01b03851692503391507f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f69060200160405180910390a35050600160c95550565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118c15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610981565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60fc546040517f5ae809510000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635ae8095190602401602060405180830381865afa15801561194a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2b9190614452565b60fb546040517fc39994440000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b03169063c399944490602401602060405180830381865afa1580156119d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f49190614452565b905090565b6097546001600160a01b03163314611a535760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b611a5d600061385c565b565b600260c95403611ab15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610981565b600260c9556097546001600160a01b03163314611b105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b81600003611b3157604051631f2a200560e01b815260040160405180910390fd5b816101046000828254611b4491906144b6565b909155505060fb546001600160a01b031663f3fef3a3611b6c60ff546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b158015611bcc57600080fd5b505af1158015611be0573d6000803e3d6000fd5b50505050611bf660ff546001600160a01b031690565b60405163a9059cbb60e01b81526001600160a01b03838116600483015260248201859052919091169063a9059cbb906044016020604051808303816000875af1158015611c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c6b9190614494565b506040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e9060200160405180910390a35050600160c955565b6097546001600160a01b03163314611d0f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b6001600160a01b0381163b611d425760405163247e970160e01b81526001600160a01b0382166004820152602401610981565b610102805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080611d7f600f61081d565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfa9190614402565b610101546040517fb2e271480000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03918216602482015291169063b2e2714890604401602060405180830381865afa158015611e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e879190614452565b9050611e9c611e95826138bb565b8390612d2d565b9250505090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600092919091169063edd0b5cb90602401602060405180830381865afa158015611f0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f329190614435565b62ffffff16905090565b6097546001600160a01b03163314611f965760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b80600003611fb757604051631f2a200560e01b815260040160405180910390fd5b61010781905560405181815233907f34bdcf409ce95f734fb7583240c6266616d468cf38e556801bdb3e7e8733a5559060200160405180910390a250565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561204b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206f9190614402565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ea9190614402565b60fb546040517ff8b2cb4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529293506000929091169063f8b2cb4f90602401602060405180830381865afa158015612153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121779190614452565b905060008112156121b7576040517fb817602800000000000000000000000000000000000000000000000000000000815260048101829052602401610981565b6040517f80f57f110000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152600091908416906380f57f1190602401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190614452565b905060006122c560ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc91906144c9565b849060126138da565b6040517fbba85bcf0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015291925060009182919088169063bba85bcf90602401606060405180830381865afa15801561232d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235191906144ec565b9250925050600084828486612366919061451a565b6123709190614542565b61237a9190614542565b9050600081136123925761238d816138bb565b612395565b60005b9a9950505050505050505050565b60006123ad611d72565b610105546119f49190614542565b6097546001600160a01b031633146124155760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b6001600160a01b0381166124915760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610981565b610e678161385c565b6000610a2b6001600160a01b038316806c01000000000000000000000000613906565b6000610a2b82670de0b6b3a76400006c01000000000000000000000000613906565b6000806000806124f485600060016000613a7f565b9150915080610105600082825461250b91906144b6565b90915550919590945092505050565b6101035482111561256657610103546040517ff6c28f78000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610981565b81610103600082825461257991906144b6565b909155505060fb546101005460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b1580156125cf57600080fd5b505af11580156125e3573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb91506044016020604051808303816000875af115801561263b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265f9190614494565b505050565b610102546000906001600160a01b0316331461269557604051633338cdbd60e11b8152336004820152602401610981565b61269e82613c22565b8161010860008282546126b19190614542565b925050819055508161010560008282546126cb91906144b6565b925050819055506000612758601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561272c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275091906144c9565b8591906138da565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101849052929350169063f3fef3a390604401600060405180830381600087803b1580156127aa57600080fd5b505af11580156127be573d6000803e3d6000fd5b505060ff546101025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018690529116925063a9059cbb91506044016020604051808303816000875af1158015612818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283c9190614494565b5090505b919050565b60008054610100900460ff16156128e2578160ff1660011480156128685750303b155b6128da5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610981565b506000919050565b60005460ff80841691161061295f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610981565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055600190565b600054610100900460ff16612a145760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610981565b611a5d613c7e565b600054610100900460ff16611a5d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610981565b60005b815181101561145e57612ada828281518110612aba57612aba61441f565b60200260200101516001600160a01b03166001600160a01b03163b151590565b612b2157818181518110612af057612af061441f565b602002602001015160405163247e970160e01b815260040161098191906001600160a01b0391909116815260200190565b80612b2b81614569565b915050612a9c565b6097546001600160a01b03163314610e675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610981565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612bc05761265f83613d04565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612c1a575060408051601f3d908101601f19168201909252612c1791810190614452565b60015b612c8c5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610981565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612d215760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610981565b5061265f838383613dcf565b6000612d428383670de0b6b3a7640000613dfa565b9392505050565b6000612d4283670de0b6b3a764000084613e28565b806101036000828254612d719190614481565b90915550506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af1158015612dcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612df09190614494565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b158015612e4257600080fd5b505af1158015612e56573d6000803e3d6000fd5b5050505050565b600080600080612e71856001806000613a7f565b91509150806101056000828254612e889190614481565b90915550612e969050613e47565b9094909350915050565b600080612ef960ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612298573d6000803e3d6000fd5b9050612f0481613e98565b806101086000828254612f17919061451a565b92505081905550806101056000828254612f319190614481565b90915550612f3f9050613e47565b60ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b3906044016020604051808303816000875af1158015612f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb89190614494565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b15801561300957600080fd5b505af115801561301d573d6000803e3d6000fd5b509295945050505050565b60008060006130b060ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613083573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a791906144c9565b879060126138da565b90506130bb81613e98565b60ff546040516323b872dd60e01b81526001600160a01b03868116600483015230602483015260448201899052909116906323b872dd906064016020604051808303816000875af1158015613114573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131389190614494565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810189905291169063095ea7b3906044016020604051808303816000875af115801561318e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b29190614494565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018990529116906347e7ef2490604401600060405180830381600087803b15801561320357600080fd5b505af1158015613217573d6000803e3d6000fd5b50505050600080600190506000806132318585858c613a7f565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561328757600080fd5b505af115801561329b573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052909116925063a9059cbb91506044016020604051808303816000875af11580156132f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133179190614494565b50604080518381526020810183905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a190999098509650505050505050565b60008060006133ef60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e691906144c9565b899060126138da565b90506133fa81613e98565b60006001818061340c8582858d613a7f565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b15801561346257600080fd5b505af1158015613476573d6000803e3d6000fd5b5050505060006040518060c0016040528061010060009054906101000a90046001600160a01b03166001600160a01b0316815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031681526020018481526020018d81526020018c6001600160a01b031681526020018b62ffffff168152509050600060fe60009054906101000a90046001600160a01b03166001600160a01b03166368e32802836040518263ffffffff1660e01b815260040161358c9190600060c0820190506001600160a01b0380845116835280602085015116602084015260408401516040840152606084015160608401528060808501511660808401525062ffffff60a08401511660a083015292915050565b6020604051808303816000875af11580156135ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135cf9190614452565b9050600081613658601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561362c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061365091906144c9565b8791906138da565b6136629190614542565b905060008113156136f05760ff546040516323b872dd60e01b81526001600160a01b038d8116600483015230602483015260448201849052909116906323b872dd906064016020604051808303816000875af11580156136c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ea9190614494565b5061379d565b600081121561379d5760ff546001600160a01b031663a9059cbb8c613714846138bb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015613777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061379b9190614494565b505b60fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018790529116906347e7ef2490604401600060405180830381600087803b1580156137ed57600080fd5b505af1158015613801573d6000803e3d6000fd5b505060408051888152602081018890529081018490527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9250606001905060405180910390a150929d919c50909a5050505050505050505050565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000808212156138d6576138d182600019614583565b610a2b565b5090565b60006138e783600a6146b3565b6138f283600a6146b3565b6138fc90866146c2565b61094c91906146d9565b600080806000198587098587029250828110838203039150508060000361393f576000841161393457600080fd5b508290049050612d42565b80841161394b57600080fd5b600084868809808403938111909203919050600061396b86196001614481565b861695869004959384900493600081900304600101905061398c81846146c2565b90931792600061399d8760036146c2565b60021890506139ac81886146c2565b6139b79060026144b6565b6139c190826146c2565b90506139cd81886146c2565b6139d89060026144b6565b6139e290826146c2565b90506139ee81886146c2565b6139f99060026144b6565b613a0390826146c2565b9050613a0f81886146c2565b613a1a9060026144b6565b613a2490826146c2565b9050613a3081886146c2565b613a3b9060026144b6565b613a4590826146c2565b9050613a5181886146c2565b613a5c9060026144b6565b613a6690826146c2565b9050613a7281866146c2565b9998505050505050505050565b6040805161010081018252610101546001600160a01b03908116825285151560208301908152851515838501908152606084018981526000608086018181524260a0880190815289871660c0890190815260e0890184815260fc549a517fb6b1b6c30000000000000000000000000000000000000000000000000000000081528a518a16600482015297511515602489015295511515604488015293516064870152905160848601525160a48501529051841660c4840152905160e48301529384938493909284928392169063b6b1b6c3906101040160408051808303816000875af1158015613b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b9791906146fb565b915091506000613ba682613efb565b9050806101066000828254613bbb9190614481565b9091555050604080518b15158152602081018d90528a1515818301526001600160a01b038a16606082015290517f9a15d84188925e678e5ac0dacda00aa8a73ebe2346741b3b64fc9919f494bbe49181900360800190a15090999098509650505050505050565b6000613c2c6123a3565b9050600081131580613c3d57508181105b1561145e576040517f1f04c58a0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610981565b600054610100900460ff16613cfb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610981565b611a5d3361385c565b6001600160a01b0381163b613d815760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610981565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b613dd883613f08565b600082511180613de55750805b1561265f57613df48383613f48565b50505050565b828202811515841585830485141716613e1257600080fd5b6001826001830304018115150290509392505050565b828202811515841585830485141716613e4057600080fd5b0492915050565b61010754610105541115611a5d5761010754610105546040517fdc681c5a00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610981565b6000613ea26123a3565b9050600081121580613c3d575081613eb9826138bb565b101561145e576040517f1f04c58a0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610981565b6000610a2b611e95610ed7565b613f1181613d04565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b613fc75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610981565b600080846001600160a01b031684604051613fe2919061471f565b600060405180830381855af49150503d806000811461401d576040519150601f19603f3d011682016040523d82523d6000602084013e614022565b606091505b509150915061404a828260405180606001604052806027815260200161473c60279139614053565b95945050505050565b60608315614062575081612d42565b8251156140725782518084602001fd5b8160405162461bcd60e51b815260040161098191906143cf565b60006020828403121561409e57600080fd5b813563ffffffff81168114612d4257600080fd5b6001600160a01b0381168114610e6757600080fd5b600080604083850312156140da57600080fd5b82356140e5816140b2565b946020939093013593505050565b600080600080600080600060e0888a03121561410e57600080fd5b8735614119816140b2565b96506020880135614129816140b2565b95506040880135614139816140b2565b94506060880135614149816140b2565b93506080880135614159816140b2565b925060a0880135614169816140b2565b915060c0880135614179816140b2565b8091505092959891949750929550565b60006020828403121561419b57600080fd5b8135612d42816140b2565b8035600081900b811461284057600080fd5b600080600080608085870312156141ce57600080fd5b843593506141de602086016141a6565b925060408501356141ee816140b2565b915060608501356141fe816140b2565b939692955090935050565b62ffffff81168114610e6757600080fd5b60008060008060008060c0878903121561423357600080fd5b8635955060208701359450604087013561424c816140b2565b9350606087013561425c81614209565b925061426a608088016141a6565b915060a087013561427a816140b2565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156142b157600080fd5b82356142bc816140b2565b9150602083013567ffffffffffffffff808211156142d957600080fd5b818501915085601f8301126142ed57600080fd5b8135818111156142ff576142ff614288565b604051601f8201601f19908116603f0116810190838211818310171561432757614327614288565b8160405282815288602084870101111561434057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806040838503121561437557600080fd5b823591506020830135614387816140b2565b809150509250929050565b6000602082840312156143a457600080fd5b5035919050565b60005b838110156143c65781810151838201526020016143ae565b50506000910152565b60208152600082518060208401526143ee8160408501602087016143ab565b601f01601f19169190910160400192915050565b60006020828403121561441457600080fd5b8151612d42816140b2565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561444757600080fd5b8151612d4281614209565b60006020828403121561446457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a2b57610a2b61446b565b6000602082840312156144a657600080fd5b81518015158114612d4257600080fd5b81810381811115610a2b57610a2b61446b565b6000602082840312156144db57600080fd5b815160ff81168114612d4257600080fd5b60008060006060848603121561450157600080fd5b8351925060208401519150604084015190509250925092565b808201828112600083128015821682158216171561453a5761453a61446b565b505092915050565b81810360008312801583831316838312821617156145625761456261446b565b5092915050565b6000600019820361457c5761457c61446b565b5060010190565b808202600082127f8000000000000000000000000000000000000000000000000000000000000000841416156145bb576145bb61446b565b8181058314821517610a2b57610a2b61446b565b600181815b8085111561460a5781600019048211156145f0576145f061446b565b808516156145fd57918102915b93841c93908002906145d4565b509250929050565b60008261462157506001610a2b565b8161462e57506000610a2b565b8160018114614644576002811461464e5761466a565b6001915050610a2b565b60ff84111561465f5761465f61446b565b50506001821b610a2b565b5060208310610133831016604e8410600b841016171561468d575081810a610a2b565b61469783836145cf565b80600019048211156146ab576146ab61446b565b029392505050565b6000612d4260ff841683614612565b8082028115828204841417610a2b57610a2b61446b565b6000826146f657634e487b7160e01b600052601260045260246000fd5b500490565b6000806040838503121561470e57600080fd5b505080516020909101519092909150565b600082516147318184602087016143ab565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205eda5c69118b5c36c977c7c465cfb851382746b551e7f5ba8e2204c8197d045c64736f6c63430008110033"; + +type TestPerpDepositoryUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestPerpDepositoryUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestPerpDepositoryUpgrade__factory extends ContractFactory { + constructor(...args: TestPerpDepositoryUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): TestPerpDepositoryUpgrade { + return super.attach(address) as TestPerpDepositoryUpgrade; + } + override connect(signer: Signer): TestPerpDepositoryUpgrade__factory { + return super.connect(signer) as TestPerpDepositoryUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestPerpDepositoryUpgradeInterface { + return new utils.Interface(_abi) as TestPerpDepositoryUpgradeInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TestPerpDepositoryUpgrade { + return new Contract( + address, + _abi, + signerOrProvider + ) as TestPerpDepositoryUpgrade; + } +} diff --git a/src/typechain-types/factories/contracts/test/TestPerpDepository__factory.ts b/src/typechain-types/factories/contracts/test/TestPerpDepository__factory.ts new file mode 100644 index 0000000..aa5d527 --- /dev/null +++ b/src/typechain-types/factories/contracts/test/TestPerpDepository__factory.ts @@ -0,0 +1,1125 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + TestPerpDepository, + TestPerpDepositoryInterface, +} from "../../../contracts/test/TestPerpDepository"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "AddressNotContract", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assetDeposits", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsufficientAssetDeposits", + type: "error", + }, + { + inputs: [ + { + internalType: "int256", + name: "allowance", + type: "int256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsufficientPnl", + type: "error", + }, + { + inputs: [ + { + internalType: "int256", + name: "balance", + type: "int256", + }, + ], + name: "InvalidQuoteTokenBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + ], + name: "InvalidRebalance", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "NotApproved", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "NotController", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "PositivePnlRebalanceDisabled", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "QuoteRedeemDisabled", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softcap", + type: "uint256", + }, + { + internalType: "uint256", + name: "newBasePosition", + type: "uint256", + }, + ], + name: "RedeemableSoftCapHit", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "UnsupportedAsset", + type: "error", + }, + { + inputs: [], + name: "ZeroAmount", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "beacon", + type: "address", + }, + ], + name: "BeaconUpgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsuranceWithdrawn", + 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: "bool", + name: "isShort", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "amountIsInput", + type: "bool", + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + ], + name: "PositionOpened", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "baseAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "quoteAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "int256", + name: "shortfall", + type: "int256", + }, + ], + name: "Rebalanced", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newSoftCap", + type: "uint256", + }, + ], + name: "RedeemableSoftCapUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + inputs: [], + name: "HUNDRED_PERCENT", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VERSION", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "assetDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "assetToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "clearingHouse", + outputs: [ + { + internalType: "contract IClearingHouse", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "controller", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "depositInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getAccountValue", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCurrentState", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "assetDeposited", + type: "uint256", + }, + { + internalType: "uint256", + name: "insuranceDeposited", + type: "uint256", + }, + { + internalType: "uint256", + name: "redeemableUnderManagement", + type: "uint256", + }, + { + internalType: "uint256", + name: "totalFeesPaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "redeemableSoftCap", + type: "uint256", + }, + ], + internalType: "struct DepositoryState", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getDebtValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchangeFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getExchangeFeeWad", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getFreeCollateral", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32", + name: "twapInterval", + type: "uint32", + }, + ], + name: "getMarkPriceTwap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getPositionValue", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUnrealizedPnl", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_vault", + type: "address", + }, + { + internalType: "address", + name: "_clearingHouse", + type: "address", + }, + { + internalType: "address", + name: "_marketRegistry", + type: "address", + }, + { + internalType: "address", + name: "_futuresMarket", + type: "address", + }, + { + internalType: "address", + name: "_assetToken", + type: "address", + }, + { + internalType: "address", + name: "_quoteToken", + type: "address", + }, + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "insuranceDeposited", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "insuranceToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "market", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "marketRegistry", + outputs: [ + { + internalType: "contract IMarketRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proxiableUUID", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteMinted", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "quoteToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOutMinimum", + type: "uint256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "uint24", + name: "swapPoolFee", + type: "uint24", + }, + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "rebalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "int8", + name: "polarity", + type: "int8", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "rebalanceLite", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemableSoftCap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeemableUnderManagement", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_controller", + type: "address", + }, + ], + name: "setController", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "softCap", + type: "uint256", + }, + ], + name: "setRedeemableSoftCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_swapper", + type: "address", + }, + ], + name: "setSpotSwapper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "spotSwapper", + outputs: [ + { + internalType: "contract ISwapper", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalFeesPaid", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + 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: "vault", + outputs: [ + { + internalType: "contract IVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdrawInsurance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x60a06040523060805234801561001457600080fd5b5060805161421561004c60003960008181610ac601528181610b5c015281816110e60152818161117c015261163601526142156000f3fe6080604052600436106102d15760003560e01c80635ae8095111610179578063be3519a2116100d6578063ecb96fe61161008a578063f77c479111610064578063f77c47911461081b578063fbfa77cf1461083c578063ffa1ad741461085c57600080fd5b8063ecb96fe6146107c6578063f084c24b146107e6578063f2fde38b146107fb57600080fd5b8063de2b1ff2116100bb578063de2b1ff21461076f578063e9fd58621461078f578063ebf5a908146107a657600080fd5b8063be3519a214610743578063bedfc05d1461075a57600080fd5b806389b211af1161012d57806392eefe9b1161011257806392eefe9b146106f7578063b44b3a8f14610717578063bdf7f54e1461072c57600080fd5b806389b211af146106b95780638da5cb5b146106d957600080fd5b80636f1874171161015e5780636f1874171461066e578063715018a61461068357806380f556051461069857600080fd5b80635ae80951146106375780636ed93dd01461065757600080fd5b80633659cfe61161023257806347e7ef24116101e65780634f1ef286116101c05780634f1ef286146105ef5780634f3de3a91461060257806352d1902d1461062257600080fd5b806347e7ef241461057a578063487b00c21461059a5780634a2accc2146105cf57600080fd5b806338086bd31161021757806338086bd31461052e57806339af3a81146105435780633c94de541461056357600080fd5b80633659cfe6146104b7578063378aa701146104d757600080fd5b8063190e03ec11610289578063217a4b701161026e578063217a4b70146103d357806323ae7152146103f3578063358764761461040a57600080fd5b8063190e03ec146103935780631e9a6950146103b357600080fd5b80630af96800116102ba5780630af96800146103325780630f324233146103525780631083f7611461037257600080fd5b806307159868146102d6578063093bec701461030d575b600080fd5b3480156102e257600080fd5b5060ff546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561031957600080fd5b506103246101035481565b604051908152602001610304565b34801561033e57600080fd5b5060fc546102f0906001600160a01b031681565b34801561035e57600080fd5b5061032461036d366004613b39565b6108a8565b34801561037e57600080fd5b50610100546102f0906001600160a01b031681565b34801561039f57600080fd5b5060fe546102f0906001600160a01b031681565b3480156103bf57600080fd5b506103246103ce366004613b74565b6109df565b3480156103df57600080fd5b5060ff546102f0906001600160a01b031681565b3480156103ff57600080fd5b506103246101045481565b34801561041657600080fd5b506104b5610425366004613ba0565b60fb805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03998a161790915560fc805482169789169790971790965560fd8054871695881695909517909455610102805486169487169490941790935560ff8054851693861693909317909255610100805484169285169290921790915561010180549092169216919091179055565b005b3480156104c357600080fd5b506104b56104d2366004613c36565b610abc565b3480156104e357600080fd5b506104ec610c59565b6040516103049190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b34801561053a57600080fd5b50610324610cc6565b34801561054f57600080fd5b506104b561055e366004613c36565b610d80565b34801561056f57600080fd5b506103246101075481565b34801561058657600080fd5b50610324610595366004613b74565b610e55565b3480156105a657600080fd5b506105ba6105b5366004613c65565b610eda565b60408051928352602083019190915201610304565b3480156105db57600080fd5b506105ba6105ea366004613cc7565b610fd9565b6104b56105fd366004613d4b565b6110dc565b34801561060e57600080fd5b506104b561061d366004613e0f565b61126a565b34801561062e57600080fd5b50610324611629565b34801561064357600080fd5b50610324610652366004613c36565b6116ee565b34801561066357600080fd5b50610324620f424081565b34801561067a57600080fd5b50610324611776565b34801561068f57600080fd5b506104b5611801565b3480156106a457600080fd5b50610101546102f0906001600160a01b031681565b3480156106c557600080fd5b506104b56106d4366004613e0f565b611867565b3480156106e557600080fd5b506097546001600160a01b03166102f0565b34801561070357600080fd5b506104b5610712366004613c36565b611abd565b34801561072357600080fd5b50610324611b93565b34801561073857600080fd5b506103246101085481565b34801561074f57600080fd5b506103246101055481565b34801561076657600080fd5b50610324611cc4565b34801561077b57600080fd5b506104b561078a366004613e3f565b611d5d565b34801561079b57600080fd5b506103246101065481565b3480156107b257600080fd5b506103246107c1366004613c36565b611e16565b3480156107d257600080fd5b5060fd546102f0906001600160a01b031681565b3480156107f257600080fd5b506103246121c4565b34801561080757600080fd5b506104b5610816366004613c36565b6121dc565b34801561082757600080fd5b50610102546102f0906001600160a01b031681565b34801561084857600080fd5b5060fb546102f0906001600160a01b031681565b34801561086857600080fd5b50604080518082018252600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290516103049190613e7c565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109229190613eaf565b610101546040517f99e4a7710000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015263ffffffff861660248201529192506000916109d7916109d291908516906399e4a77190604401602060405180830381865afa1580156109a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c49190613eaf565b6001600160a01b03166122bb565b6122de565b949350505050565b610102546000906001600160a01b03163314610a1557604051633338cdbd60e11b81523360048201526024015b60405180910390fd5b610100546001600160a01b0390811690841603610a5a576000610a3783612300565b5061010254909150610a539082906001600160a01b031661233b565b9050610ab6565b60ff546001600160a01b0390811690841603610a7957610a5382612485565b6040517fee84f40b0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610a0c565b92915050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b5a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610a0c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bb57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610c315760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610a0c565b610c3a81612666565b60408051600080825260208201909252610c56918391906126c0565b50565b610c8b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528061010354815260200161010454815260200161010554815260200161010654815260200161010754815250905090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526000928392169063edd0b5cb90602401602060405180830381865afa158015610d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d549190613ecc565b62ffffff169050610d7a620f4240610d7483670de0b6b3a7640000612860565b9061287c565b91505090565b6097546001600160a01b03163314610dda5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b6001600160a01b0381163b610e26576040517f247e97010000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610a0c565b60fe805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b610102546000906001600160a01b03163314610e8657604051633338cdbd60e11b8152336004820152602401610a0c565b610100546001600160a01b0390811690841603610ebb57610ea682612891565b6000610eb183612990565b9250610ab6915050565b60ff546001600160a01b0390811690841603610a7957610a53826129d3565b600080600260c95403610f2f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0c565b600260c955600085900b19610f5257610f49868585612b5b565b91509150610fc9565b8460000b600103610f91576040517f6d1c2776000000000000000000000000000000000000000000000000000000008152336004820152602401610a0c565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600086900b6004820152602401610a0c565b600160c955909590945092505050565b600080600260c9540361102e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0c565b600260c955600084900b196110535761104a8888888887612e9a565b915091506110ca565b8360000b600103611092576040517f6d1c2776000000000000000000000000000000000000000000000000000000008152336004820152602401610a0c565b6040517fe2b4c0a5000000000000000000000000000000000000000000000000000000008152600085900b6004820152602401610a0c565b600160c9559097909650945050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361117a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610a0c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111d57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146112515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610a0c565b61125a82612666565b611266828260016126c0565b5050565b600260c954036112bc5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0c565b600260c9556097546001600160a01b0316331461131b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b8160000361133c57604051631f2a200560e01b815260040160405180910390fd5b600061135060ff546001600160a01b031690565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152919091169063dd62ed3e90604401602060405180830381865afa1580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113db9190613ee9565b905082811015611421576040517f991213190000000000000000000000000000000000000000000000000000000081526004810182905260248101849052604401610a0c565b8261010460008282546114349190613f18565b909155505060ff546001600160a01b03166040516323b872dd60e01b81526001600160a01b0384811660048301523060248301526044820186905291909116906323b872dd906064016020604051808303816000875af115801561149c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c09190613f2b565b5060ff546001600160a01b031660fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b3906044016020604051808303816000875af115801561151f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115439190613f2b565b5060fb546001600160a01b03166347e7ef2461156760ff546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101869052604401600060405180830381600087803b1580156115c757600080fd5b505af11580156115db573d6000803e3d6000fd5b50506040518581526001600160a01b03851692503391507f27a53222ef7efd93a8a1530cf4a3d41220d5f26def9b04b88cdd34fb89f433f69060200160405180910390a35050600160c95550565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116c95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610a0c565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60fc546040517f5ae809510000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635ae8095190602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab69190613ee9565b60fb546040517fc39994440000000000000000000000000000000000000000000000000000000081523060048201526000916001600160a01b03169063c399944490602401602060405180830381865afa1580156117d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fc9190613ee9565b905090565b6097546001600160a01b0316331461185b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b611865600061338f565b565b600260c954036118b95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0c565b600260c9556097546001600160a01b031633146119185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b8160000361193957604051631f2a200560e01b815260040160405180910390fd5b81610104600082825461194c9190613f4d565b909155505060fb546001600160a01b031663f3fef3a361197460ff546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101859052604401600060405180830381600087803b1580156119d457600080fd5b505af11580156119e8573d6000803e3d6000fd5b505050506119fe60ff546001600160a01b031690565b60405163a9059cbb60e01b81526001600160a01b03838116600483015260248201859052919091169063a9059cbb906044016020604051808303816000875af1158015611a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a739190613f2b565b506040518281526001600160a01b0382169033907febca967c406b3238e3b50354b2ae287ad6f68959ee41bf7bfea1342c5fe05b0e9060200160405180910390a35050600160c955565b6097546001600160a01b03163314611b175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b6001600160a01b0381163b611b63576040517f247e97010000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610a0c565b610102805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600080611ba0600f6108a8565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1b9190613eaf565b610101546040517fb2e271480000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03918216602482015291169063b2e2714890604401602060405180830381865afa158015611c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca89190613ee9565b9050611cbd611cb6826133ee565b8390612860565b9250505090565b60fd54610101546040517fedd0b5cb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600092919091169063edd0b5cb90602401602060405180830381865afa158015611d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d539190613ecc565b62ffffff16905090565b6097546001600160a01b03163314611db75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b80600003611dd857604051631f2a200560e01b815260040160405180910390fd5b61010781905560405181815233907f34bdcf409ce95f734fb7583240c6266616d468cf38e556801bdb3e7e8733a5559060200160405180910390a250565b60008060fc60009054906101000a90046001600160a01b03166001600160a01b0316636896fabf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e909190613eaf565b9050600060fc60009054906101000a90046001600160a01b03166001600160a01b031663f807cd226040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ee7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0b9190613eaf565b60fb546040517ff8b2cb4f0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529293506000929091169063f8b2cb4f90602401602060405180830381865afa158015611f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f989190613ee9565b90506000811215611fd8576040517fb817602800000000000000000000000000000000000000000000000000000000815260048101829052602401610a0c565b6040517f80f57f110000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152600091908416906380f57f1190602401602060405180830381865afa15801561203b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205f9190613ee9565b905060006120e660ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120dd9190613f60565b8490601261340d565b6040517fbba85bcf0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015291925060009182919088169063bba85bcf90602401606060405180830381865afa15801561214e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121729190613f83565b92509250506000848284866121879190613fb1565b6121919190613fd9565b61219b9190613fd9565b9050600081136121b3576121ae816133ee565b6121b6565b60005b9a9950505050505050505050565b60006121ce611b93565b610105546117fc9190613fd9565b6097546001600160a01b031633146122365760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b6001600160a01b0381166122b25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a0c565b610c568161338f565b6000610ab66001600160a01b038316806c01000000000000000000000000613439565b6000610ab682670de0b6b3a76400006c01000000000000000000000000613439565b600080600080612315856000600160006135b2565b9150915080610105600082825461232c9190613f4d565b90915550919590945092505050565b6101035482111561238757610103546040517ff6c28f78000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610a0c565b81610103600082825461239a9190613f4d565b909155505060fb546101005460405163f3fef3a360e01b81526001600160a01b0391821660048201526024810185905291169063f3fef3a390604401600060405180830381600087803b1580156123f057600080fd5b505af1158015612404573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b03858116600483015260248201879052909116925063a9059cbb91506044016020604051808303816000875af115801561245c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124809190613f2b565b505050565b610102546000906001600160a01b031633146124b657604051633338cdbd60e11b8152336004820152602401610a0c565b6124bf82613755565b8161010860008282546124d29190613fd9565b925050819055508161010560008282546124ec9190613f4d565b925050819055506000612579601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561254d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125719190613f60565b85919061340d565b60fb5460ff5460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101849052929350169063f3fef3a390604401600060405180830381600087803b1580156125cb57600080fd5b505af11580156125df573d6000803e3d6000fd5b505060ff546101025460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018690529116925063a9059cbb91506044016020604051808303816000875af1158015612639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265d9190613f2b565b5090505b919050565b6097546001600160a01b03163314610c565760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a0c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156126f357612480836137b1565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561274d575060408051601f3d908101601f1916820190925261274a91810190613ee9565b60015b6127bf5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610a0c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146128545760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610a0c565b5061248083838361387c565b60006128758383670de0b6b3a76400006138a7565b9392505050565b600061287583670de0b6b3a7640000846138d5565b8061010360008282546128a49190613f18565b90915550506101005460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af11580156128ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129239190613f2b565b5060fb54610100546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018490529116906347e7ef2490604401600060405180830381600087803b15801561297557600080fd5b505af1158015612989573d6000803e3d6000fd5b5050505050565b6000806000806129a48560018060006135b2565b915091508061010560008282546129bb9190613f18565b909155506129c990506138f4565b9094909350915050565b600080612a2c60ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120b9573d6000803e3d6000fd5b9050612a3781613945565b806101086000828254612a4a9190613fb1565b92505081905550806101056000828254612a649190613f18565b90915550612a7290506138f4565b60ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810186905291169063095ea7b3906044016020604051808303816000875af1158015612ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aeb9190613f2b565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018690529116906347e7ef2490604401600060405180830381600087803b158015612b3c57600080fd5b505af1158015612b50573d6000803e3d6000fd5b509295945050505050565b6000806000612be360ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bda9190613f60565b8790601261340d565b9050612bee81613945565b60ff546040516323b872dd60e01b81526001600160a01b03868116600483015230602483015260448201899052909116906323b872dd906064016020604051808303816000875af1158015612c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6b9190613f2b565b5060ff5460fb5460405163095ea7b360e01b81526001600160a01b0391821660048201526024810189905291169063095ea7b3906044016020604051808303816000875af1158015612cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ce59190613f2b565b5060fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018990529116906347e7ef2490604401600060405180830381600087803b158015612d3657600080fd5b505af1158015612d4a573d6000803e3d6000fd5b5050505060008060019050600080612d648585858c6135b2565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b158015612dba57600080fd5b505af1158015612dce573d6000803e3d6000fd5b50506101005460405163a9059cbb60e01b81526001600160a01b038c8116600483015260248201879052909116925063a9059cbb91506044016020604051808303816000875af1158015612e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4a9190613f2b565b50604080518381526020810183905260008183015290517f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9181900360600190a190999098509650505050505050565b6000806000612f2260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ef5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f199190613f60565b8990601261340d565b9050612f2d81613945565b600060018180612f3f8582858d6135b2565b60fb546101005460405163f3fef3a360e01b81526001600160a01b03918216600482015260248101859052939550919350169063f3fef3a390604401600060405180830381600087803b158015612f9557600080fd5b505af1158015612fa9573d6000803e3d6000fd5b5050505060006040518060c0016040528061010060009054906101000a90046001600160a01b03166001600160a01b0316815260200160ff60009054906101000a90046001600160a01b03166001600160a01b031681526020018481526020018d81526020018c6001600160a01b031681526020018b62ffffff168152509050600060fe60009054906101000a90046001600160a01b03166001600160a01b03166368e32802836040518263ffffffff1660e01b81526004016130bf9190600060c0820190506001600160a01b0380845116835280602085015116602084015260408401516040840152606084015160608401528060808501511660808401525062ffffff60a08401511660a083015292915050565b6020604051808303816000875af11580156130de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131029190613ee9565b905060008161318b601260ff60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561315f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131839190613f60565b87919061340d565b6131959190613fd9565b905060008113156132235760ff546040516323b872dd60e01b81526001600160a01b038d8116600483015230602483015260448201849052909116906323b872dd906064016020604051808303816000875af11580156131f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321d9190613f2b565b506132d0565b60008112156132d05760ff546001600160a01b031663a9059cbb8c613247846133ee565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156132aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ce9190613f2b565b505b60fb5460ff546040516311f9fbc960e21b81526001600160a01b039182166004820152602481018790529116906347e7ef2490604401600060405180830381600087803b15801561332057600080fd5b505af1158015613334573d6000803e3d6000fd5b505060408051888152602081018890529081018490527f4cd317f75ff0e2be1dcc047a844e7e63c97d11a79ff3eac56a12ff4f378c0adc9250606001905060405180910390a150929d919c50909a5050505050505050505050565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000808212156134095761340482600019614000565b610ab6565b5090565b600061341a83600a614130565b61342583600a614130565b61342f908661413f565b6109d79190614156565b6000808060001985870985870292508281108382030391505080600003613472576000841161346757600080fd5b508290049050612875565b80841161347e57600080fd5b600084868809808403938111909203919050600061349e86196001613f18565b86169586900495938490049360008190030460010190506134bf818461413f565b9093179260006134d087600361413f565b60021890506134df818861413f565b6134ea906002613f4d565b6134f4908261413f565b9050613500818861413f565b61350b906002613f4d565b613515908261413f565b9050613521818861413f565b61352c906002613f4d565b613536908261413f565b9050613542818861413f565b61354d906002613f4d565b613557908261413f565b9050613563818861413f565b61356e906002613f4d565b613578908261413f565b9050613584818861413f565b61358f906002613f4d565b613599908261413f565b90506135a5818661413f565b9998505050505050505050565b6040805161010081018252610101546001600160a01b03908116825285151560208301908152851515838501908152606084018981526000608086018181524260a0880190815289871660c0890190815260e0890184815260fc549a517fb6b1b6c30000000000000000000000000000000000000000000000000000000081528a518a16600482015297511515602489015295511515604488015293516064870152905160848601525160a48501529051841660c4840152905160e48301529384938493909284928392169063b6b1b6c3906101040160408051808303816000875af11580156136a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ca9190614178565b9150915060006136d9826139a8565b90508061010660008282546136ee9190613f18565b9091555050604080518b15158152602081018d90528a1515818301526001600160a01b038a16606082015290517f9a15d84188925e678e5ac0dacda00aa8a73ebe2346741b3b64fc9919f494bbe49181900360800190a15090999098509650505050505050565b600061375f6121c4565b905060008113158061377057508181105b15611266576040517f1f04c58a0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610a0c565b6001600160a01b0381163b61382e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610a0c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b613885836139b5565b6000825111806138925750805b15612480576138a183836139f5565b50505050565b8282028115158415858304851417166138bf57600080fd5b6001826001830304018115150290509392505050565b8282028115158415858304851417166138ed57600080fd5b0492915050565b610107546101055411156118655761010754610105546040517fdc681c5a00000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610a0c565b600061394f6121c4565b9050600081121580613770575081613966826133ee565b1015611266576040517f1f04c58a0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610a0c565b6000610ab6611cb6610cc6565b6139be816137b1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b613a745760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610a0c565b600080846001600160a01b031684604051613a8f919061419c565b600060405180830381855af49150503d8060008114613aca576040519150601f19603f3d011682016040523d82523d6000602084013e613acf565b606091505b5091509150613af782826040518060600160405280602781526020016141b960279139613b00565b95945050505050565b60608315613b0f575081612875565b825115613b1f5782518084602001fd5b8160405162461bcd60e51b8152600401610a0c9190613e7c565b600060208284031215613b4b57600080fd5b813563ffffffff8116811461287557600080fd5b6001600160a01b0381168114610c5657600080fd5b60008060408385031215613b8757600080fd5b8235613b9281613b5f565b946020939093013593505050565b600080600080600080600060e0888a031215613bbb57600080fd5b8735613bc681613b5f565b96506020880135613bd681613b5f565b95506040880135613be681613b5f565b94506060880135613bf681613b5f565b93506080880135613c0681613b5f565b925060a0880135613c1681613b5f565b915060c0880135613c2681613b5f565b8091505092959891949750929550565b600060208284031215613c4857600080fd5b813561287581613b5f565b8035600081900b811461266157600080fd5b60008060008060808587031215613c7b57600080fd5b84359350613c8b60208601613c53565b92506040850135613c9b81613b5f565b91506060850135613cab81613b5f565b939692955090935050565b62ffffff81168114610c5657600080fd5b60008060008060008060c08789031215613ce057600080fd5b86359550602087013594506040870135613cf981613b5f565b93506060870135613d0981613cb6565b9250613d1760808801613c53565b915060a0870135613d2781613b5f565b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215613d5e57600080fd5b8235613d6981613b5f565b9150602083013567ffffffffffffffff80821115613d8657600080fd5b818501915085601f830112613d9a57600080fd5b813581811115613dac57613dac613d35565b604051601f8201601f19908116603f01168101908382118183101715613dd457613dd4613d35565b81604052828152886020848701011115613ded57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060408385031215613e2257600080fd5b823591506020830135613e3481613b5f565b809150509250929050565b600060208284031215613e5157600080fd5b5035919050565b60005b83811015613e73578181015183820152602001613e5b565b50506000910152565b6020815260008251806020840152613e9b816040850160208701613e58565b601f01601f19169190910160400192915050565b600060208284031215613ec157600080fd5b815161287581613b5f565b600060208284031215613ede57600080fd5b815161287581613cb6565b600060208284031215613efb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610ab657610ab6613f02565b600060208284031215613f3d57600080fd5b8151801515811461287557600080fd5b81810381811115610ab657610ab6613f02565b600060208284031215613f7257600080fd5b815160ff8116811461287557600080fd5b600080600060608486031215613f9857600080fd5b8351925060208401519150604084015190509250925092565b8082018281126000831280158216821582161715613fd157613fd1613f02565b505092915050565b8181036000831280158383131683831282161715613ff957613ff9613f02565b5092915050565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561403857614038613f02565b8181058314821517610ab657610ab6613f02565b600181815b8085111561408757816000190482111561406d5761406d613f02565b8085161561407a57918102915b93841c9390800290614051565b509250929050565b60008261409e57506001610ab6565b816140ab57506000610ab6565b81600181146140c157600281146140cb576140e7565b6001915050610ab6565b60ff8411156140dc576140dc613f02565b50506001821b610ab6565b5060208310610133831016604e8410600b841016171561410a575081810a610ab6565b614114838361404c565b806000190482111561412857614128613f02565b029392505050565b600061287560ff84168361408f565b8082028115828204841417610ab657610ab6613f02565b60008261417357634e487b7160e01b600052601260045260246000fd5b500490565b6000806040838503121561418b57600080fd5b505080516020909101519092909150565b600082516141ae818460208701613e58565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122034cebc2e363f3a5e00dadbf3c33944b9ccfb7dc34da69f72d383964471b6f6dc64736f6c63430008110033"; + +type TestPerpDepositoryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestPerpDepositoryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestPerpDepository__factory extends ContractFactory { + constructor(...args: TestPerpDepositoryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): TestPerpDepository { + return super.attach(address) as TestPerpDepository; + } + override connect(signer: Signer): TestPerpDepository__factory { + return super.connect(signer) as TestPerpDepository__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestPerpDepositoryInterface { + return new utils.Interface(_abi) as TestPerpDepositoryInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TestPerpDepository { + return new Contract(address, _abi, signerOrProvider) as TestPerpDepository; + } +} diff --git a/src/typechain-types/factories/contracts/test/TestUXDControllerUpgrade__factory.ts b/src/typechain-types/factories/contracts/test/TestUXDControllerUpgrade__factory.ts new file mode 100644 index 0000000..6586f46 --- /dev/null +++ b/src/typechain-types/factories/contracts/test/TestUXDControllerUpgrade__factory.ts @@ -0,0 +1,646 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../common"; +import type { + TestUXDControllerUpgrade, + TestUXDControllerUpgradeInterface, +} from "../../../contracts/test/TestUXDControllerUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "CtrlAddressNotContract", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "minAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "CtrlMinNotMet", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "CtrlNotApproved", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "CtrlNotWhitelisted", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "beacon", + type: "address", + }, + ], + name: "BeaconUpgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Minted", + 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: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Redeemed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "by", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newRouter", + type: "address", + }, + ], + name: "RouterUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "by", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "isWhitelisted", + type: "bool", + }, + ], + name: "WhitelistUpdated", + type: "event", + }, + { + inputs: [], + name: "VERSION", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "assetList", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_weth", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + { + internalType: "uint256", + name: "assetAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "minAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mintWithEth", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proxiableUUID", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "assetToken", + type: "address", + }, + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmountOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAmonuntOut", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "redeemForEth", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "redeemable", + outputs: [ + { + internalType: "contract IRedeemable", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "router", + outputs: [ + { + internalType: "contract IUXDRouter", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_redeemable", + type: "address", + }, + ], + name: "setRedeemable", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_router", + type: "address", + }, + ], + name: "updateRouter", + 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: "weth", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "tokenAddress", + type: "address", + }, + { + internalType: "bool", + name: "isWhitelisted", + type: "bool", + }, + ], + name: "whitelistAsset", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "whitelistedAssets", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +]; + +const _bytecode = + "0x60a06040523060805234801561001457600080fd5b5060805161286761004c6000396000818161073c015281816107d2015281816109c701528181610a5d0152610b5801526128676000f3fe6080604052600436106101635760003560e01c80638da5cb5b116100c0578063cba91dd211610074578063f74bfe8e11610059578063f74bfe8e146103aa578063f887ea40146103ca578063ffa1ad74146103ea57600080fd5b8063cba91dd21461036a578063f2fde38b1461038a57600080fd5b8063b05ea1b8116100a5578063b05ea1b81461030a578063c4d66de81461032a578063c851cc321461034a57600080fd5b80638da5cb5b146102cc578063a0b4b301146102ea57600080fd5b80633fc8cef3116101175780634f1ef286116100fc5780634f1ef2861461028f57806352d1902d146102a2578063715018a6146102b757600080fd5b80633fc8cef31461024f57806343bcfab61461026f57600080fd5b80632d7ecd11116101485780632d7ecd11146101b75780633659cfe6146101ef578063371510fc1461020f57600080fd5b80630bae74231461016f57806329175b591461019557600080fd5b3661016a57005b600080fd5b61018261017d3660046124f1565b610436565b6040519081526020015b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004612521565b610676565b005b3480156101c357600080fd5b5060fb546101d7906001600160a01b031681565b6040516001600160a01b03909116815260200161018c565b3480156101fb57600080fd5b506101b561020a366004612521565b610732565b34801561021b57600080fd5b5061023f61022a366004612521565b60fd6020526000908152604090205460ff1681565b604051901515815260200161018c565b34801561025b57600080fd5b5060ff546101d7906001600160a01b031681565b34801561027b57600080fd5b5061018261028a36600461253e565b6108cf565b6101b561029d36600461259e565b6109bd565b3480156102ae57600080fd5b50610182610b4b565b3480156102c357600080fd5b506101b5610c10565b3480156102d857600080fd5b5060c9546001600160a01b03166101d7565b3480156102f657600080fd5b506101d7610305366004612662565b610c76565b34801561031657600080fd5b5061018261032536600461267b565b610ca0565b34801561033657600080fd5b506101b5610345366004612521565b610e2c565b34801561035657600080fd5b506101b5610365366004612521565b610f0c565b34801561037657600080fd5b506101b56103853660046126c2565b610ff2565b34801561039657600080fd5b506101b56103a5366004612521565b611109565b3480156103b657600080fd5b506101826103c536600461253e565b6111e8565b3480156103d657600080fd5b5060fc546101d7906001600160a01b031681565b3480156103f657600080fd5b50604080518082018252600581527f322e302e300000000000000000000000000000000000000000000000000000006020820152905161018c9190612714565b600060026065540361048f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260655560ff5460fc546040517f9c93ed2a0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316600482018190523460248301819052939092600092911690639c93ed2a90604401602060405180830381865afa158015610509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052d9190612747565b905060ff60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561057f57600080fd5b505af1158015610593573d6000803e3d6000fd5b505060ff546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201899052909116935063a9059cbb925060440190506020604051808303816000875af1158015610605573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106299190612764565b506040805160a0810182526001600160a01b0380851682523460208301529181018890528682166060820152908216608082015261066681611497565b6001606555979650505050505050565b60c9546001600160a01b031633146106d05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0381163b610703576040516334f0e1ad60e11b81526001600160a01b0382166004820152602401610486565b60fb805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107d05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610486565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146108a75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610486565b6108b0816116cb565b604080516000808252602082019092526108cc91839190611725565b50565b60006002606554036109235760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610486565b6002606555604080516080810182526001600160a01b038088168252602082018790529181018590529083166060820152600061095f826118ca565b9050836001600160a01b0316336001600160a01b03167f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc836040516109a691815260200190565b60405180910390a360016065559695505050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a5b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610486565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610b325760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610486565b610b3b826116cb565b610b4782826001611725565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610beb5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610486565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60c9546001600160a01b03163314610c6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b610c746000611ccc565b565b60fe8181548110610c8657600080fd5b6000918252602090912001546001600160a01b0316905081565b6000600260655403610cf45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610486565b60026065556040805160808101825260ff546001600160a01b03168152602081018690529081018490523060608201526000610d2f826118ca565b60ff546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018390529192506001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b50506040516001600160a01b038716925083156108fc02915083906000818181858888f19350505050158015610ddd573d6000803e3d6000fd5b506040518181526001600160a01b0385169033907f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc9060200160405180910390a3600160655595945050505050565b6000610e386001611d2b565b90508015610e50576000805461ff0019166101001790555b610e58611e5f565b610e60611ed2565b610e68611f45565b6001600160a01b0382163b610e9b576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610486565b60ff805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610b47576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60c9546001600160a01b03163314610f665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0381163b610f99576040516334f0e1ad60e11b81526001600160a01b0382166004820152602401610486565b60fc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831690811790915560405133907f02dc5c233404867c793b749c6d644beb2277536d18a7e7974d3f238e4c6f168490600090a350565b60c9546001600160a01b0316331461104c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0382163b61107f576040516334f0e1ad60e11b81526001600160a01b0383166004820152602401610486565b6001600160a01b038216600090815260fd60205260409020805460ff191682158015919091179091556110ba576110b582611fb0565b6110c3565b6110c382612065565b60405181151581526001600160a01b0383169033907fd9c6c3eabe38e3b9a606a66358d8f225489216a59eeba66facefb7d9166352669060200160405180910390a35050565b60c9546001600160a01b031633146111635760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b6001600160a01b0381166111df5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610486565b6108cc81611ccc565b600060026065540361123c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610486565b60026065556040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201819052306024830152869186906001600160a01b0384169063dd62ed3e90604401602060405180830381865afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ce9190612781565b1015611320576040517f3a30efb80000000000000000000000000000000000000000000000000000000081526001600160a01b0380891660048301528216602482015260448101879052606401610486565b60fc546040517f9c93ed2a0000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152602482018990526000921690639c93ed2a90604401602060405180830381865afa15801561138b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113af9190612747565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528083166024830152604482018a9052919250908416906323b872dd906064016020604051808303816000875af1158015611423573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114479190612764565b506040805160a0810182526001600160a01b03808b168252602082018a90529181018890528682166060820152908216608082015261148581611497565b60016065559998505050505050505050565b80516001600160a01b0316600090815260fd602052604081205460ff166114f85781516040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610486565b6080820151825160208401516040517f47e7ef240000000000000000000000000000000000000000000000000000000081526000936001600160a01b0316926347e7ef249261155d926004016001600160a01b03929092168252602082015260400190565b6020604051808303816000875af115801561157c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a09190612781565b905082604001518110156115f1578260400151816040517f7a798551000000000000000000000000000000000000000000000000000000008152600401610486929190918252602082015260400190565b60fb5460608401516040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018490529116906340c10f1990604401600060405180830381600087803b15801561165c57600080fd5b505af1158015611670573d6000803e3d6000fd5b5050505082606001516001600160a01b0316336001600160a01b03167f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0836040516116bd91815260200190565b60405180910390a392915050565b60c9546001600160a01b031633146108cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561175d5761175883612175565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117b7575060408051601f3d908101601f191682019092526117b491810190612781565b60015b6118295760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610486565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146118be5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610486565b50611758838383612240565b80516001600160a01b0316600090815260fd602052604081205460ff1661192b5781516040517f56515bac0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152602401610486565b602082015160fb546040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160a01b039091169063dd62ed3e90604401602060405180830381865afa158015611997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bb9190612781565b1015611a125760fb5460208301516040517f3a30efb80000000000000000000000000000000000000000000000000000000081526001600160a01b0390921660048301523360248301526044820152606401610486565b60fc54825160208401516040517f31f32a060000000000000000000000000000000000000000000000000000000081526000936001600160a01b0316926331f32a0692611a75926004016001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015611a92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab69190612747565b835160208501516040517f1e9a69500000000000000000000000000000000000000000000000000000000081529293506000926001600160a01b03851692631e9a695092611b1a926004016001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015611b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5d9190612781565b90508360400151811015611bae578360400151816040517f7a798551000000000000000000000000000000000000000000000000000000008152600401610486929190918252602082015260400190565b60fb5460208501516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015260248101919091526001600160a01b0390911690639dc29fac90604401600060405180830381600087803b158015611c1957600080fd5b505af1158015611c2d573d6000803e3d6000fd5b5050855160608701516040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018690529116925063a9059cbb91506044016020604051808303816000875af1158015611ca0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc49190612764565b509392505050565b60c980546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008054610100900460ff1615611dc8578160ff166001148015611d4e5750303b155b611dc05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610486565b506000919050565b60005460ff808416911610611e455760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610486565b506000805460ff191660ff92909216919091179055600190565b600054610100900460ff16611eca5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b610c7461226b565b600054610100900460ff16611f3d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b610c746122df565b600054610100900460ff16610c745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b60005b60fe548110156120055760fe8181548110611fd057611fd061279a565b6000918252602090912001546001600160a01b0390811690831603611ff3575050565b80611ffd816127b0565b915050611fb3565b5060fe80546001810182556000919091527f54075df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60001960005b60fe548110156120c15760fe81815481106120885761208861279a565b6000918252602090912001546001600160a01b03908116908416036120af578091506120c1565b806120b9816127b0565b91505061206b565b506000198114610b475760fe80546120d761279a565b60009182526020909120015460fe80546001600160a01b0390921691839081106121035761210361279a565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060fe805480612142576121426127d8565b6000828152602090208101600019908101805473ffffffffffffffffffffffffffffffffffffffff191690550190555050565b6001600160a01b0381163b6121f25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610486565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61224983612351565b6000825111806122565750805b15611758576122658383612391565b50505050565b600054610100900460ff166122d65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b610c7433611ccc565b600054610100900460ff1661234a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610486565b6001606555565b61235a81612175565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6124105760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610486565b600080846001600160a01b03168460405161242b91906127ee565b600060405180830381855af49150503d8060008114612466576040519150601f19603f3d011682016040523d82523d6000602084013e61246b565b606091505b5091509150612493828260405180606001604052806027815260200161280b6027913961249c565b95945050505050565b606083156124ab5750816124d5565b8251156124bb5782518084602001fd5b8160405162461bcd60e51b81526004016104869190612714565b9392505050565b6001600160a01b03811681146108cc57600080fd5b6000806040838503121561250457600080fd5b823591506020830135612516816124dc565b809150509250929050565b60006020828403121561253357600080fd5b81356124d5816124dc565b6000806000806080858703121561255457600080fd5b843561255f816124dc565b93506020850135925060408501359150606085013561257d816124dc565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156125b157600080fd5b82356125bc816124dc565b9150602083013567ffffffffffffffff808211156125d957600080fd5b818501915085601f8301126125ed57600080fd5b8135818111156125ff576125ff612588565b604051601f8201601f19908116603f0116810190838211818310171561262757612627612588565b8160405282815288602084870101111561264057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561267457600080fd5b5035919050565b60008060006060848603121561269057600080fd5b833592506020840135915060408401356126a9816124dc565b809150509250925092565b80151581146108cc57600080fd5b600080604083850312156126d557600080fd5b82356126e0816124dc565b91506020830135612516816126b4565b60005b8381101561270b5781810151838201526020016126f3565b50506000910152565b60208152600082518060208401526127338160408501602087016126f0565b601f01601f19169190910160400192915050565b60006020828403121561275957600080fd5b81516124d5816124dc565b60006020828403121561277657600080fd5b81516124d5816126b4565b60006020828403121561279357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060001982036127d157634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603160045260246000fd5b600082516128008184602087016126f0565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122008cf6ec5fa8354b464e25c5002a24809542cf0c5059f8f015a92746c0b4be68964736f6c63430008110033"; + +type TestUXDControllerUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestUXDControllerUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestUXDControllerUpgrade__factory extends ContractFactory { + constructor(...args: TestUXDControllerUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): TestUXDControllerUpgrade { + return super.attach(address) as TestUXDControllerUpgrade; + } + override connect(signer: Signer): TestUXDControllerUpgrade__factory { + return super.connect(signer) as TestUXDControllerUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestUXDControllerUpgradeInterface { + return new utils.Interface(_abi) as TestUXDControllerUpgradeInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TestUXDControllerUpgrade { + return new Contract( + address, + _abi, + signerOrProvider + ) as TestUXDControllerUpgrade; + } +} diff --git a/src/typechain-types/factories/contracts/test/index.ts b/src/typechain-types/factories/contracts/test/index.ts new file mode 100644 index 0000000..dfe4ad1 --- /dev/null +++ b/src/typechain-types/factories/contracts/test/index.ts @@ -0,0 +1,13 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { MockController__factory } from "./MockController__factory"; +export { MockPerpAccountBalance__factory } from "./MockPerpAccountBalance__factory"; +export { MockPerpClearingHouse__factory } from "./MockPerpClearingHouse__factory"; +export { MockPerpMarketRegistry__factory } from "./MockPerpMarketRegistry__factory"; +export { MockPerpVault__factory } from "./MockPerpVault__factory"; +export { TestDepository__factory } from "./TestDepository__factory"; +export { TestERC20__factory } from "./TestERC20__factory"; +export { TestPerpDepository__factory } from "./TestPerpDepository__factory"; +export { TestPerpDepositoryUpgrade__factory } from "./TestPerpDepositoryUpgrade__factory"; +export { TestUXDControllerUpgrade__factory } from "./TestUXDControllerUpgrade__factory"; diff --git a/src/typechain-types/factories/index.ts b/src/typechain-types/factories/index.ts new file mode 100644 index 0000000..3eb8785 --- /dev/null +++ b/src/typechain-types/factories/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as openzeppelin from "./@openzeppelin"; +export * as uniswap from "./@uniswap"; +export * as contracts from "./contracts"; diff --git a/src/typechain-types/hardhat.d.ts b/src/typechain-types/hardhat.d.ts new file mode 100644 index 0000000..5f8168a --- /dev/null +++ b/src/typechain-types/hardhat.d.ts @@ -0,0 +1,681 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { ethers } from "ethers"; +import { + FactoryOptions, + HardhatEthersHelpers as HardhatEthersHelpersBase, +} from "@nomiclabs/hardhat-ethers/types"; + +import * as Contracts from "."; + +declare module "hardhat/types/runtime" { + interface HardhatEthersHelpers extends HardhatEthersHelpersBase { + getContractFactory( + name: "OwnableUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC1822ProxiableUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IBeaconUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC1967UpgradeUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Initializable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UUPSUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ReentrancyGuardUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Upgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ContextUpgradeable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AccessControl", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAccessControl", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Ownable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernorCountingSimple", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernorSettings", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernorTimelockControl", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernorVotes", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernorVotesQuorumFraction", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IGovernorTimelock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Governor", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IGovernor", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TimelockController", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IVotes", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC1155Receiver", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Votes", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Receiver", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC165", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC165", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "DoubleEndedQueue", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3SwapCallback", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ISwapRouter", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUXDController", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUXDRouter", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXDController", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXDControllerStorage", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXDRouter", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IRedeemable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXDToken", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAccountBalance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IClearingHouse", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IExchange", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMarketRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IBorrower", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IDnGmxSeniorVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC4626", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IWETH9", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXDCouncilToken", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXDGovernor", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXDTimelockController", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UXPToken", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IDepository", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ISwapper", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "PerpAccountProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "PerpDepository", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "PerpDepositoryStorage", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "RageDnDepository", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Uniswapper", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MockController", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MockPerpAccountBalance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MockPerpClearingHouse", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MockPerpMarketRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MockPerpVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestDepository", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestPerpDepository", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestPerpDepositoryUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestUXDControllerUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + + getContractAt( + name: "OwnableUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC1822ProxiableUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IBeaconUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC1967UpgradeUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Initializable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UUPSUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ReentrancyGuardUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Upgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ContextUpgradeable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AccessControl", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAccessControl", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Ownable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernorCountingSimple", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernorSettings", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernorTimelockControl", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernorVotes", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernorVotesQuorumFraction", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IGovernorTimelock", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Governor", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IGovernor", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TimelockController", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IVotes", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC1155Receiver", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Permit", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Permit", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Votes", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Metadata", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Receiver", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC165", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC165", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "DoubleEndedQueue", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3SwapCallback", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ISwapRouter", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUXDController", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUXDRouter", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXDController", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXDControllerStorage", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXDRouter", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IRedeemable", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXDToken", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAccountBalance", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IClearingHouse", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IExchange", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMarketRegistry", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IVault", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IBorrower", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IDnGmxSeniorVault", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC4626", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IWETH9", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXDCouncilToken", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXDGovernor", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXDTimelockController", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UXPToken", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IDepository", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ISwapper", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "PerpAccountProxy", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "PerpDepository", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "PerpDepositoryStorage", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "RageDnDepository", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Uniswapper", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MockController", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MockPerpAccountBalance", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MockPerpClearingHouse", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MockPerpMarketRegistry", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MockPerpVault", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestDepository", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestERC20", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestPerpDepository", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestPerpDepositoryUpgrade", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestUXDControllerUpgrade", + address: string, + signer?: ethers.Signer + ): Promise; + + // default types + getContractFactory( + name: string, + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + abi: any[], + bytecode: ethers.utils.BytesLike, + signer?: ethers.Signer + ): Promise; + getContractAt( + nameOrAbi: string | any[], + address: string, + signer?: ethers.Signer + ): Promise; + } +} diff --git a/src/typechain-types/index.ts b/src/typechain-types/index.ts new file mode 100644 index 0000000..4d037d5 --- /dev/null +++ b/src/typechain-types/index.ts @@ -0,0 +1,154 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as openzeppelin from "./@openzeppelin"; +export type { openzeppelin }; +import type * as uniswap from "./@uniswap"; +export type { uniswap }; +import type * as contracts from "./contracts"; +export type { contracts }; +export * as factories from "./factories"; +export type { OwnableUpgradeable } from "./@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable"; +export { OwnableUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory"; +export type { IERC1822ProxiableUpgradeable } from "./@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable"; +export { IERC1822ProxiableUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory"; +export type { IBeaconUpgradeable } from "./@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable"; +export { IBeaconUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory"; +export type { ERC1967UpgradeUpgradeable } from "./@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable"; +export { ERC1967UpgradeUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory"; +export type { Initializable } from "./@openzeppelin/contracts-upgradeable/proxy/utils/Initializable"; +export { Initializable__factory } from "./factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory"; +export type { UUPSUpgradeable } from "./@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable"; +export { UUPSUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory"; +export type { ReentrancyGuardUpgradeable } from "./@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable"; +export { ReentrancyGuardUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory"; +export type { IERC20Upgradeable } from "./@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable"; +export { IERC20Upgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable__factory"; +export type { ContextUpgradeable } from "./@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable"; +export { ContextUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory"; +export type { AccessControl } from "./@openzeppelin/contracts/access/AccessControl"; +export { AccessControl__factory } from "./factories/@openzeppelin/contracts/access/AccessControl__factory"; +export type { IAccessControl } from "./@openzeppelin/contracts/access/IAccessControl"; +export { IAccessControl__factory } from "./factories/@openzeppelin/contracts/access/IAccessControl__factory"; +export type { Ownable } from "./@openzeppelin/contracts/access/Ownable"; +export { Ownable__factory } from "./factories/@openzeppelin/contracts/access/Ownable__factory"; +export type { GovernorCountingSimple } from "./@openzeppelin/contracts/governance/extensions/GovernorCountingSimple"; +export { GovernorCountingSimple__factory } from "./factories/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple__factory"; +export type { GovernorSettings } from "./@openzeppelin/contracts/governance/extensions/GovernorSettings"; +export { GovernorSettings__factory } from "./factories/@openzeppelin/contracts/governance/extensions/GovernorSettings__factory"; +export type { GovernorTimelockControl } from "./@openzeppelin/contracts/governance/extensions/GovernorTimelockControl"; +export { GovernorTimelockControl__factory } from "./factories/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl__factory"; +export type { GovernorVotes } from "./@openzeppelin/contracts/governance/extensions/GovernorVotes"; +export { GovernorVotes__factory } from "./factories/@openzeppelin/contracts/governance/extensions/GovernorVotes__factory"; +export type { GovernorVotesQuorumFraction } from "./@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction"; +export { GovernorVotesQuorumFraction__factory } from "./factories/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction__factory"; +export type { IGovernorTimelock } from "./@openzeppelin/contracts/governance/extensions/IGovernorTimelock"; +export { IGovernorTimelock__factory } from "./factories/@openzeppelin/contracts/governance/extensions/IGovernorTimelock__factory"; +export type { Governor } from "./@openzeppelin/contracts/governance/Governor"; +export { Governor__factory } from "./factories/@openzeppelin/contracts/governance/Governor__factory"; +export type { IGovernor } from "./@openzeppelin/contracts/governance/IGovernor"; +export { IGovernor__factory } from "./factories/@openzeppelin/contracts/governance/IGovernor__factory"; +export type { TimelockController } from "./@openzeppelin/contracts/governance/TimelockController"; +export { TimelockController__factory } from "./factories/@openzeppelin/contracts/governance/TimelockController__factory"; +export type { IVotes } from "./@openzeppelin/contracts/governance/utils/IVotes"; +export { IVotes__factory } from "./factories/@openzeppelin/contracts/governance/utils/IVotes__factory"; +export type { IERC1155Receiver } from "./@openzeppelin/contracts/token/ERC1155/IERC1155Receiver"; +export { IERC1155Receiver__factory } from "./factories/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver__factory"; +export type { ERC20 } from "./@openzeppelin/contracts/token/ERC20/ERC20"; +export { ERC20__factory } from "./factories/@openzeppelin/contracts/token/ERC20/ERC20__factory"; +export type { ERC20Permit } from "./@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit"; +export { ERC20Permit__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol/ERC20Permit__factory"; +export type { IERC20Permit } from "./@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit"; +export { IERC20Permit__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit__factory"; +export type { ERC20Votes } from "./@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes"; +export { ERC20Votes__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes__factory"; +export type { IERC20Metadata } from "./@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata"; +export { IERC20Metadata__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory"; +export type { IERC20 } from "./@openzeppelin/contracts/token/ERC20/IERC20"; +export { IERC20__factory } from "./factories/@openzeppelin/contracts/token/ERC20/IERC20__factory"; +export type { IERC721Receiver } from "./@openzeppelin/contracts/token/ERC721/IERC721Receiver"; +export { IERC721Receiver__factory } from "./factories/@openzeppelin/contracts/token/ERC721/IERC721Receiver__factory"; +export type { ERC165 } from "./@openzeppelin/contracts/utils/introspection/ERC165"; +export { ERC165__factory } from "./factories/@openzeppelin/contracts/utils/introspection/ERC165__factory"; +export type { IERC165 } from "./@openzeppelin/contracts/utils/introspection/IERC165"; +export { IERC165__factory } from "./factories/@openzeppelin/contracts/utils/introspection/IERC165__factory"; +export type { DoubleEndedQueue } from "./@openzeppelin/contracts/utils/structs/DoubleEndedQueue"; +export { DoubleEndedQueue__factory } from "./factories/@openzeppelin/contracts/utils/structs/DoubleEndedQueue__factory"; +export type { IUniswapV3SwapCallback } from "./@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback"; +export { IUniswapV3SwapCallback__factory } from "./factories/@uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback__factory"; +export type { ISwapRouter } from "./@uniswap/v3-periphery/contracts/interfaces/ISwapRouter"; +export { ISwapRouter__factory } from "./factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory"; +export type { IUXDController } from "./contracts/core/IUXDController"; +export { IUXDController__factory } from "./factories/contracts/core/IUXDController__factory"; +export type { IUXDRouter } from "./contracts/core/IUXDRouter"; +export { IUXDRouter__factory } from "./factories/contracts/core/IUXDRouter__factory"; +export type { UXDController } from "./contracts/core/UXDController"; +export { UXDController__factory } from "./factories/contracts/core/UXDController__factory"; +export type { UXDControllerStorage } from "./contracts/core/UXDControllerStorage"; +export { UXDControllerStorage__factory } from "./factories/contracts/core/UXDControllerStorage__factory"; +export type { UXDRouter } from "./contracts/core/UXDRouter"; +export { UXDRouter__factory } from "./factories/contracts/core/UXDRouter__factory"; +export type { IRedeemable } from "./contracts/core/UXDToken.sol/IRedeemable"; +export { IRedeemable__factory } from "./factories/contracts/core/UXDToken.sol/IRedeemable__factory"; +export type { UXDToken } from "./contracts/core/UXDToken.sol/UXDToken"; +export { UXDToken__factory } from "./factories/contracts/core/UXDToken.sol/UXDToken__factory"; +export type { IAccountBalance } from "./contracts/external/perp/IAccountBalance"; +export { IAccountBalance__factory } from "./factories/contracts/external/perp/IAccountBalance__factory"; +export type { IClearingHouse } from "./contracts/external/perp/IClearingHouse"; +export { IClearingHouse__factory } from "./factories/contracts/external/perp/IClearingHouse__factory"; +export type { IExchange } from "./contracts/external/perp/IExchange"; +export { IExchange__factory } from "./factories/contracts/external/perp/IExchange__factory"; +export type { IMarketRegistry } from "./contracts/external/perp/IMarketRegistry"; +export { IMarketRegistry__factory } from "./factories/contracts/external/perp/IMarketRegistry__factory"; +export type { IVault } from "./contracts/external/perp/IVault"; +export { IVault__factory } from "./factories/contracts/external/perp/IVault__factory"; +export type { IBorrower } from "./contracts/external/rage-trade/IBorrower"; +export { IBorrower__factory } from "./factories/contracts/external/rage-trade/IBorrower__factory"; +export type { IDnGmxSeniorVault } from "./contracts/external/rage-trade/IDnGmxSeniorVault"; +export { IDnGmxSeniorVault__factory } from "./factories/contracts/external/rage-trade/IDnGmxSeniorVault__factory"; +export type { IERC4626 } from "./contracts/external/rage-trade/IERC4626"; +export { IERC4626__factory } from "./factories/contracts/external/rage-trade/IERC4626__factory"; +export type { IWETH9 } from "./contracts/external/weth/IWETH9"; +export { IWETH9__factory } from "./factories/contracts/external/weth/IWETH9__factory"; +export type { UXDCouncilToken } from "./contracts/governance/UXDCouncilToken"; +export { UXDCouncilToken__factory } from "./factories/contracts/governance/UXDCouncilToken__factory"; +export type { UXDGovernor } from "./contracts/governance/UXDGovernor"; +export { UXDGovernor__factory } from "./factories/contracts/governance/UXDGovernor__factory"; +export type { UXDTimelockController } from "./contracts/governance/UXDTimelockController"; +export { UXDTimelockController__factory } from "./factories/contracts/governance/UXDTimelockController__factory"; +export type { UXPToken } from "./contracts/governance/UXPToken"; +export { UXPToken__factory } from "./factories/contracts/governance/UXPToken__factory"; +export type { IDepository } from "./contracts/integrations/IDepository"; +export { IDepository__factory } from "./factories/contracts/integrations/IDepository__factory"; +export type { ISwapper } from "./contracts/integrations/ISwapper"; +export { ISwapper__factory } from "./factories/contracts/integrations/ISwapper__factory"; +export type { PerpAccountProxy } from "./contracts/integrations/perp/PerpAccountProxy"; +export { PerpAccountProxy__factory } from "./factories/contracts/integrations/perp/PerpAccountProxy__factory"; +export type { PerpDepository } from "./contracts/integrations/perp/PerpDepository"; +export { PerpDepository__factory } from "./factories/contracts/integrations/perp/PerpDepository__factory"; +export type { PerpDepositoryStorage } from "./contracts/integrations/perp/PerpDepositoryStorage"; +export { PerpDepositoryStorage__factory } from "./factories/contracts/integrations/perp/PerpDepositoryStorage__factory"; +export type { RageDnDepository } from "./contracts/integrations/rage-trade/RageDnDepository"; +export { RageDnDepository__factory } from "./factories/contracts/integrations/rage-trade/RageDnDepository__factory"; +export type { Uniswapper } from "./contracts/integrations/uniswap/Uniswapper"; +export { Uniswapper__factory } from "./factories/contracts/integrations/uniswap/Uniswapper__factory"; +export type { MockController } from "./contracts/test/MockController"; +export { MockController__factory } from "./factories/contracts/test/MockController__factory"; +export type { MockPerpAccountBalance } from "./contracts/test/MockPerpAccountBalance"; +export { MockPerpAccountBalance__factory } from "./factories/contracts/test/MockPerpAccountBalance__factory"; +export type { MockPerpClearingHouse } from "./contracts/test/MockPerpClearingHouse"; +export { MockPerpClearingHouse__factory } from "./factories/contracts/test/MockPerpClearingHouse__factory"; +export type { MockPerpMarketRegistry } from "./contracts/test/MockPerpMarketRegistry"; +export { MockPerpMarketRegistry__factory } from "./factories/contracts/test/MockPerpMarketRegistry__factory"; +export type { MockPerpVault } from "./contracts/test/MockPerpVault"; +export { MockPerpVault__factory } from "./factories/contracts/test/MockPerpVault__factory"; +export type { TestDepository } from "./contracts/test/TestDepository"; +export { TestDepository__factory } from "./factories/contracts/test/TestDepository__factory"; +export type { TestERC20 } from "./contracts/test/TestERC20"; +export { TestERC20__factory } from "./factories/contracts/test/TestERC20__factory"; +export type { TestPerpDepository } from "./contracts/test/TestPerpDepository"; +export { TestPerpDepository__factory } from "./factories/contracts/test/TestPerpDepository__factory"; +export type { TestPerpDepositoryUpgrade } from "./contracts/test/TestPerpDepositoryUpgrade"; +export { TestPerpDepositoryUpgrade__factory } from "./factories/contracts/test/TestPerpDepositoryUpgrade__factory"; +export type { TestUXDControllerUpgrade } from "./contracts/test/TestUXDControllerUpgrade"; +export { TestUXDControllerUpgrade__factory } from "./factories/contracts/test/TestUXDControllerUpgrade__factory"; diff --git a/src/utils/price.ts b/src/utils/price.ts index 095d41d..91890db 100644 --- a/src/utils/price.ts +++ b/src/utils/price.ts @@ -1,3 +1,3 @@ -export function calculateTargetPrice(price: number, slippage: number): number { - return (price * (1000 - slippage * 10)) / 1000; +export function calculateMinAmountOut(price: number, slippage: number): number { + return (price * (1_000 - slippage * 10)) / 1_000; } From 1b66e1929c2aa0e6a2ff0fe1f79107a6e4206a65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20NEUT?= Date: Wed, 4 Jan 2023 13:37:48 +0400 Subject: [PATCH 02/14] Makes redeem to work --- src/lib/UXDController.ts | 112 +++++++++++++++++++++++++++++++++------ 1 file changed, 96 insertions(+), 16 deletions(-) diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 020b793..11ba988 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -1,13 +1,11 @@ import { BigNumber, - Contract, ContractTransaction, ethers, Signer, providers, utils, } from "ethers"; -import { Subject } from "rxjs"; import { UXDToken__factory, UXDController__factory, @@ -15,7 +13,6 @@ import { UXDController as UXDControllerContract, ERC20__factory, } from "../typechain-types"; -import { encodePriceSqrt } from "./priceEncoder"; import { Address } from "./types"; export interface CollateralInfo { @@ -101,8 +98,6 @@ export class UXDController { collateral: Address; receiver?: Address; }): Promise { - console.log('Mint with ERC20!'); - return this.contract .connect(signer) .mint( @@ -128,24 +123,107 @@ export class UXDController { signer: Signer; receiver?: Address; }): Promise { - console.log('Mint with ETH!'); - - const receiverAddress = receiver ?? await signer.getAddress(); - return this.contract .connect(signer) .mintWithEth( minNativeAmountOut, - receiverAddress, + receiver ?? await signer.getAddress(), { value: nativeAmount, // ??? Which is the correct gas limit to put? Ask john - gasLimit: ethers.utils.parseEther('0.000000000007'), + gasLimit: ethers.utils.parseEther('0.000000000009'), + }, + ); + } + + public redeem({ + amount, + minAmountOut, + signer, + collateral, + receiver, + }: { + amount: number; + minAmountOut: number; + signer: Signer; + collateral?: Address; + receiver?: Address; + }): Promise { + const nativeAmount = utils.parseEther(amount.toString()); + const minNativeAmountOut = utils.parseEther(minAmountOut.toString()); + + if (collateral) { + return this.redeemForERC20({ + nativeAmount, + minNativeAmountOut, + signer, + collateral, + receiver, + }); + } + + return this.redeemForETH({ + nativeAmount, + minNativeAmountOut, + signer, + receiver, + }); + } + + // Redeem with any ERC20 compatible token + protected async redeemForERC20({ + nativeAmount, + minNativeAmountOut, + signer, + collateral, + receiver, + }: { + nativeAmount: BigNumber; + minNativeAmountOut: BigNumber; + signer: Signer; + collateral: Address; + receiver?: Address; + }): Promise { + return this.contract + .connect(signer) + .redeem( + collateral, + nativeAmount, + minNativeAmountOut, + receiver ?? await signer.getAddress(), + { + // ??? Which is the correct gas limit to put? Ask john + gasLimit: ethers.utils.parseEther('0.000000000009'), + }, + ); + } + + protected async redeemForETH({ + nativeAmount, + minNativeAmountOut, + signer, + receiver, + }: { + nativeAmount: BigNumber; + minNativeAmountOut: BigNumber; + signer: Signer; + receiver?: Address; + }): Promise { + return this.contract + .connect(signer) + .redeemForEth( + nativeAmount, + minNativeAmountOut, + receiver ?? await signer.getAddress(), + { + // ??? Which is the correct gas limit to put? Ask john + gasLimit: ethers.utils.parseEther('0.000000000009'), }, ); } - public approveUXD({ + // Gives the right to the spender to use given amount of UXD + public approveUXDTransfer({ spender, amount, signer, @@ -159,7 +237,8 @@ export class UXDController { return this.uxdTokenContract.connect(signer).approve(spender, uxdAmount); } - public approveERC20Token({ + // Gives the right to the spender to use given amount of token + public approveERC20TokenTransfer({ token, spender, amount, @@ -177,7 +256,8 @@ export class UXDController { .approve(spender, nativeAmount); } - public async allowERC20TokenTransfer({ + // Returns how much token the spender have the right to spent for the given account + public async getERC20TokenAllowance({ token, account, spender, @@ -191,7 +271,7 @@ export class UXDController { this.provider ).allowance(account, spender); - return Number(ethers.utils.formatEther(allowance)); + return parseInt(ethers.utils.formatEther(allowance)); } public async getTokenBalance({ @@ -206,6 +286,6 @@ export class UXDController { this.provider ).balanceOf(account); - return Number(ethers.utils.formatEther(balance)); + return parseInt(ethers.utils.formatEther(balance)); } } From 4d867c1c461a6779e5f36aad592b63ae76dda8be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20NEUT?= Date: Wed, 4 Jan 2023 14:09:37 +0400 Subject: [PATCH 03/14] clean gasLimit --- src/lib/UXDController.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 11ba988..bff83c7 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -106,8 +106,7 @@ export class UXDController { minNativeAmountOut, receiver ?? await signer.getAddress(), { - // ??? Which is the correct gas limit to put? Ask john - gasLimit: ethers.utils.parseEther('0.000000000009'), + gasLimit: 8_500_000, } ); } @@ -130,8 +129,7 @@ export class UXDController { receiver ?? await signer.getAddress(), { value: nativeAmount, - // ??? Which is the correct gas limit to put? Ask john - gasLimit: ethers.utils.parseEther('0.000000000009'), + gasLimit: 8_500_000, }, ); } @@ -192,8 +190,7 @@ export class UXDController { minNativeAmountOut, receiver ?? await signer.getAddress(), { - // ??? Which is the correct gas limit to put? Ask john - gasLimit: ethers.utils.parseEther('0.000000000009'), + gasLimit: 8_500_000, }, ); } @@ -216,8 +213,7 @@ export class UXDController { minNativeAmountOut, receiver ?? await signer.getAddress(), { - // ??? Which is the correct gas limit to put? Ask john - gasLimit: ethers.utils.parseEther('0.000000000009'), + gasLimit: 8_500_000, }, ); } From d54f89bb353ad1bb04eef919595badf39de07214 Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Mon, 9 Jan 2023 11:54:19 +0400 Subject: [PATCH 04/14] save --- src/lib/UXDController.ts | 24 +++++++++++++++++------- src/utils/price.ts | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index bff83c7..8bb5041 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -56,15 +56,17 @@ export class UXDController { signer, collateral, receiver, + decimals, }: { amount: number; minAmountOut: number; signer: Signer; + decimals: number; collateral?: Address; receiver?: Address; }): Promise { - const nativeAmount = utils.parseEther(amount.toString()); - const minNativeAmountOut = utils.parseEther(minAmountOut.toString()); + const nativeAmount = utils.parseUnits(amount.toString(), decimals); + const minNativeAmountOut = utils.parseUnits(minAmountOut.toString(), decimals); if (collateral) { return this.mintWithERC20({ @@ -140,15 +142,17 @@ export class UXDController { signer, collateral, receiver, + decimals, }: { amount: number; minAmountOut: number; signer: Signer; collateral?: Address; receiver?: Address; + decimals: number; }): Promise { - const nativeAmount = utils.parseEther(amount.toString()); - const minNativeAmountOut = utils.parseEther(minAmountOut.toString()); + const nativeAmount = utils.parseUnits(amount.toString(), decimals); + const minNativeAmountOut = utils.parseUnits(minAmountOut.toString(), decimals); if (collateral) { return this.redeemForERC20({ @@ -239,13 +243,15 @@ export class UXDController { spender, amount, signer, + decimals, }: { token: Address; spender: Address; amount: number; signer: Signer; + decimals: number; }): Promise { - const nativeAmount = utils.parseEther(amount.toString()); + const nativeAmount = utils.parseUnits(amount.toString(), decimals); return ERC20__factory.connect(token, signer) .connect(signer) @@ -257,31 +263,35 @@ export class UXDController { token, account, spender, + decimals, }: { token: Address; account: Address; spender: Address; + decimals: number; }): Promise { const allowance = await ERC20__factory.connect( token, this.provider ).allowance(account, spender); - return parseInt(ethers.utils.formatEther(allowance)); + return parseInt(ethers.utils.formatUnits(allowance, decimals)); } public async getTokenBalance({ token, account, + decimals, }: { token: Address; account: Address; + decimals: number; }): Promise { const balance = await ERC20__factory.connect( token, this.provider ).balanceOf(account); - return parseInt(ethers.utils.formatEther(balance)); + return parseInt(ethers.utils.formatUnits(balance, decimals)); } } diff --git a/src/utils/price.ts b/src/utils/price.ts index 91890db..9976d47 100644 --- a/src/utils/price.ts +++ b/src/utils/price.ts @@ -1,3 +1,3 @@ export function calculateMinAmountOut(price: number, slippage: number): number { return (price * (1_000 - slippage * 10)) / 1_000; -} +} \ No newline at end of file From c1837cff5173f7bff610f4fd203416320ca39408 Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Wed, 11 Jan 2023 12:55:19 +0400 Subject: [PATCH 05/14] Clear deprecated script --- README.md | 19 +++++-------------- scripts/generate-types.sh | 18 ------------------ 2 files changed, 5 insertions(+), 32 deletions(-) delete mode 100755 scripts/generate-types.sh diff --git a/README.md b/README.md index 4623669..a04549a 100644 --- a/README.md +++ b/README.md @@ -2,20 +2,16 @@ Typescript library for interacting with the UXD contracts on EVM. - ## To Build 1. Build the package + ```sh npm run build ``` -2. Generate typing files from contract ABIs -```sh -sh ./scripts/generate-types.sh -``` +2. Run the linter to properly format typescript files. -3. Run the linter to properly format typescript files. ```sh npm run format ``` @@ -65,8 +61,8 @@ const redeemable = "..."; // redeemable address const provider = new ethers.providers.JsonRpcProvider("https://goerli.optimism.io"); const client = new UXDClient({ - provider, - controller, + provider, + controller, depository redeemable }); @@ -89,12 +85,7 @@ console.log("totalsupply = ", totalSupply); To mint with WETH can call the `mint()` function: ```typescript -await controller.mint( - ethAmount, - targetePrice, - signer, - collateralAddress - ) +await controller.mint(ethAmount, targetePrice, signer, collateralAddress); ``` > Note: The controller must be approved to access the users WETH otherwise the call with revert with an error. diff --git a/scripts/generate-types.sh b/scripts/generate-types.sh deleted file mode 100755 index cc7e9e7..0000000 --- a/scripts/generate-types.sh +++ /dev/null @@ -1,18 +0,0 @@ -# This script is made to be executed once contracts have been modified in ./src/artifacts/* -# it generates types for all the contracts in the repository and adapt the files contents - -# Delete the old types files -rm -rf ./src/artifacts/types - -# Generates new typing files -npx typechain --target=ethers-v5 ./src/artifacts/* -# Create the folder to store them -mkdir ./src/artifacts/types/ - -# Move the generated files to the appropriate directory -mv ./types/ethers-contracts/* ./src/artifacts/types/ - -# Cleanup generated directories -rmdir ./types/ethers-contracts -rmdir ./types - From cbc8661d8c4fdf2575bba827baf9fef45360c877 Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Wed, 11 Jan 2023 13:06:09 +0400 Subject: [PATCH 06/14] Fix packages --- package-lock.json | 7518 +++------------------------------------------ package.json | 11 +- 2 files changed, 510 insertions(+), 7019 deletions(-) diff --git a/package-lock.json b/package-lock.json index e2d1274..6eabd5e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "@uxdprotocol/uxd-evm-client", "version": "0.5.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -12,13 +12,11 @@ "@perp/sdk-curie": "1.14.0-canary.1", "bignumber.js": "^9.0.2", "ethers": "5.7.2", - "rxjs": "^7.5.5", - "typechain": "^8.1.1" + "rxjs": "^7.5.5" }, "devDependencies": { "@babel/preset-env": "^7.18.6", "@babel/preset-typescript": "^7.18.6", - "@typechain/ethers-v5": "^10.1.0", "@types/big.js": "^6.1.4", "@types/jest": "^28.1.4", "@types/node": "^18.0.1", @@ -48,19 +46,6 @@ "node": ">=6.0.0" } }, - "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -74,34 +59,34 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", + "json5": "^2.2.2", "semver": "^6.3.0" }, "engines": { @@ -113,12 +98,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", "dev": true, "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.20.7", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -126,6 +111,20 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", @@ -152,14 +151,15 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.0", + "@babel/compat-data": "^7.20.5", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { @@ -170,17 +170,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", + "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", "@babel/helper-split-export-declaration": "^7.18.6" }, "engines": { @@ -191,13 +192,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "regexpu-core": "^5.2.1" }, "engines": { "node": ">=6.9.0" @@ -270,12 +271,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -294,19 +295,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -325,9 +326,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -352,28 +353,29 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "dependencies": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -431,29 +433,29 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.19.0", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -474,9 +476,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -501,14 +503,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -518,13 +520,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" }, @@ -552,13 +554,13 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -617,12 +619,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -665,16 +667,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -700,13 +702,13 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -733,14 +735,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -998,12 +1000,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1013,14 +1015,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1045,12 +1047,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz", - "integrity": "sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1060,18 +1062,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-compilation-targets": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" }, @@ -1083,12 +1085,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -1098,12 +1101,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz", - "integrity": "sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1222,13 +1225,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1238,14 +1241,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1255,14 +1258,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-identifier": "^7.19.1" }, "engines": { @@ -1289,13 +1292,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1336,12 +1339,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz", - "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1366,13 +1369,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" }, "engines": { "node": ">=6.9.0" @@ -1412,13 +1415,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -1473,13 +1476,13 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.0.tgz", - "integrity": "sha512-xOAsAFaun3t9hCwZ13Qe7gq423UgMZ6zAgmLxeGGapFqlT/X3L5qT2btjiVLlFn7gWtMaVyceS5VxGAuKbgizw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", + "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-typescript": "^7.20.0" }, "engines": { @@ -1521,18 +1524,18 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -1541,7 +1544,7 @@ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -1552,7 +1555,7 @@ "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1565,10 +1568,10 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", @@ -1576,14 +1579,14 @@ "@babel/plugin-transform-function-name": "^7.18.9", "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", @@ -1595,7 +1598,7 @@ "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", + "@babel/types": "^7.20.2", "babel-plugin-polyfill-corejs2": "^0.3.3", "babel-plugin-polyfill-corejs3": "^0.6.0", "babel-plugin-polyfill-regenerator": "^0.4.1", @@ -1643,45 +1646,45 @@ } }, "node_modules/@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.10" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", + "@babel/generator": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1690,9 +1693,9 @@ } }, "node_modules/@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.19.4", @@ -1710,15 +1713,15 @@ "dev": true }, "node_modules/@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.15.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -1733,9 +1736,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2431,9 +2434,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -3201,14 +3204,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { "node": ">=6.0.0" @@ -3311,9 +3313,9 @@ "dev": true }, "node_modules/@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, "dependencies": { "type-detect": "4.0.8" @@ -3328,28 +3330,10 @@ "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@typechain/ethers-v5": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.1.1.tgz", - "integrity": "sha512-o6nffJBxwmeX1ZiZpdnP/tqGd/7M7iYvQC88ZXaFFoyAGh7eYncynzVjOJV0XmaKzAc6puqyqZrnva+gJbk4sw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" - }, - "peerDependencies": { - "@ethersproject/abi": "^5.0.0", - "@ethersproject/bytes": "^5.0.0", - "@ethersproject/providers": "^5.0.0", - "ethers": "^5.1.3", - "typechain": "^8.1.1", - "typescript": ">=4.3.0" - } - }, "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -3379,9 +3363,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", "dev": true, "dependencies": { "@babel/types": "^7.3.0" @@ -3394,9 +3378,9 @@ "dev": true }, "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "dependencies": { "@types/node": "*" @@ -3443,15 +3427,16 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", "dev": true }, "node_modules/@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true }, "node_modules/@types/semver": { "version": "7.3.13", @@ -3466,9 +3451,9 @@ "dev": true }, "node_modules/@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "version": "17.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.19.tgz", + "integrity": "sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -3481,14 +3466,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz", - "integrity": "sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", + "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/type-utils": "5.42.0", - "@typescript-eslint/utils": "5.42.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/type-utils": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -3513,6 +3498,18 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -3528,15 +3525,21 @@ "node": ">=10" } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@typescript-eslint/parser": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz", - "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", + "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "debug": "^4.3.4" }, "engines": { @@ -3556,13 +3559,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz", - "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", + "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0" + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3573,13 +3576,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz", - "integrity": "sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", + "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.42.0", - "@typescript-eslint/utils": "5.42.0", + "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -3600,9 +3603,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz", - "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", + "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3613,13 +3616,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz", - "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", + "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3639,6 +3642,18 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -3654,17 +3669,23 @@ "node": ">=10" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@typescript-eslint/utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.0.tgz", - "integrity": "sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", + "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -3680,6 +3701,18 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/utils/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -3695,13 +3728,19 @@ "node": ">=10" } }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz", - "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", + "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.42.0", + "@typescript-eslint/types": "5.48.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3782,6 +3821,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -3790,9 +3830,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -3808,14 +3848,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "engines": { - "node": ">=6" - } - }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -4028,7 +4060,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/bech32": { "version": "1.1.4", @@ -4049,9 +4082,9 @@ } }, "node_modules/bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", "engines": { "node": "*" } @@ -4065,6 +4098,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4149,9 +4183,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", + "version": "1.0.30001442", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz", + "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==", "dev": true, "funding": [ { @@ -4168,6 +4202,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -4187,10 +4222,19 @@ } }, "node_modules/ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", - "dev": true + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", + "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } }, "node_modules/cjs-module-lexer": { "version": "1.2.2", @@ -4232,6 +4276,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -4239,56 +4284,14 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/convert-source-map": { "version": "1.9.0", @@ -4297,9 +4300,9 @@ "dev": true }, "node_modules/core-js-compat": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz", - "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==", + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", "dev": true, "dependencies": { "browserslist": "^4.21.4" @@ -4335,6 +4338,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -4353,14 +4357,6 @@ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4483,18 +4479,19 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", + "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -4513,7 +4510,7 @@ "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", @@ -4544,9 +4541,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", + "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -4712,9 +4709,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -4760,9 +4757,9 @@ } }, "node_modules/espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "dev": true, "dependencies": { "acorn": "^8.8.0", @@ -4991,9 +4988,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -5032,17 +5029,6 @@ "node": ">=8" } }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -5078,23 +5064,11 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.2", @@ -5219,7 +5193,8 @@ "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true }, "node_modules/grapheme-splitter": { "version": "1.0.4", @@ -5243,6 +5218,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, "engines": { "node": ">=4" } @@ -5282,9 +5258,9 @@ } }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" @@ -5338,6 +5314,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6322,9 +6299,9 @@ } }, "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { "node": ">=6" @@ -6747,6 +6724,18 @@ "node": ">=8" } }, + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-snapshot/node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -6774,6 +6763,12 @@ "node": ">=8" } }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/jest-util": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", @@ -7088,10 +7083,14 @@ } }, "node_modules/js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } }, "node_modules/js-sha3": { "version": "0.8.0", @@ -7147,9 +7146,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -7158,14 +7157,6 @@ "node": ">=6" } }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -7218,16 +7209,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -7241,15 +7222,12 @@ "dev": true }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "yallist": "^3.0.2" } }, "node_modules/make-dir": { @@ -7327,6 +7305,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -7334,21 +7313,11 @@ "node": "*" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", @@ -7388,9 +7357,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", "dev": true }, "node_modules/normalize-path": { @@ -7418,6 +7387,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "dependencies": { "wrappy": "1" } @@ -7536,6 +7506,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -7665,9 +7636,10 @@ } }, "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", + "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==", + "dev": true, "bin": { "prettier": "bin-prettier.js" }, @@ -7719,9 +7691,9 @@ } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", + "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==", "dev": true, "engines": { "node": ">=6" @@ -7753,14 +7725,6 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "engines": { - "node": ">=6" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -7780,15 +7744,15 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -7807,9 +7771,9 @@ } }, "node_modules/regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", "dev": true, "dependencies": { "regenerate": "^1.4.2", @@ -7817,7 +7781,7 @@ "regjsgen": "^0.7.1", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" @@ -7964,9 +7928,9 @@ } }, "node_modules/rxjs": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", - "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "dependencies": { "tslib": "^2.1.0" } @@ -8053,9 +8017,9 @@ "dev": true }, "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" @@ -8073,11 +8037,6 @@ "node": ">=8" } }, - "node_modules/string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==" - }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -8151,6 +8110,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -8204,36 +8164,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "engines": { - "node": ">=8" - } - }, "node_modules/terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -8302,92 +8232,6 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "node_modules/ts-command-line-args": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.3.1.tgz", - "integrity": "sha512-FR3y7pLl/fuUNSmnPhfLArGqRrpojQgIEEOVzYx9DhTmfIN7C9RWSfpkJEF4J+Gk7aVx5pak8I7vWZsaN4N84g==", - "dependencies": { - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" - }, - "bin": { - "write-markdown": "dist/write-markdown.js" - } - }, - "node_modules/ts-command-line-args/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ts-command-line-args/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ts-command-line-args/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ts-command-line-args/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/ts-command-line-args/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-command-line-args/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "peerDependencies": { - "typescript": ">=3.7.0" - } - }, "node_modules/tslib": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", @@ -8447,52 +8291,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typechain": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", - "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", - "dependencies": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - }, - "peerDependencies": { - "typescript": ">=4.3.0" - } - }, - "node_modules/typechain/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8501,14 +8304,6 @@ "node": ">=4.2.0" } }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "engines": { - "node": ">=8" - } - }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -8532,9 +8327,9 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, "engines": { "node": ">=4" @@ -8549,14 +8344,6 @@ "node": ">=4" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/update-browserslist-db": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", @@ -8653,26 +8440,6 @@ "node": ">=0.10.0" } }, - "node_modules/wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/wordwrapjs/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -8726,7 +8493,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/write-file-atomic": { "version": "4.0.2", @@ -8771,9 +8539,9 @@ } }, "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "node_modules/yargs": { @@ -8815,6285 +8583,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", - "dev": true - }, - "@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.1.tgz", - "integrity": "sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", - "dev": true, - "requires": { - "@babel/types": "^7.19.4" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz", - "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.0.tgz", - "integrity": "sha512-sXOohbpHZSk7GjxK9b3dKB7CfqUD5DwOH+DggKzOQ7TXYP+RCSbRykfjQmn/zq+rBjycVRtLf9pYhAaEJA786w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.0.tgz", - "integrity": "sha512-1dIhvZfkDVx/zn2S1aFwlruspTt4189j7fEkH0Y0VyuDM6bQt7bD6kLcz3l4IlLG+e5OReaBz9ROAbttRtUHqA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz", - "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.0.tgz", - "integrity": "sha512-xOAsAFaun3t9hCwZ13Qe7gq423UgMZ6zAgmLxeGGapFqlT/X3L5qT2btjiVLlFn7gWtMaVyceS5VxGAuKbgizw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.10" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", - "dev": true, - "requires": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3" - } - }, - "@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", - "dev": true, - "requires": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" - } - }, - "@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", - "dev": true, - "requires": { - "jest-get-type": "^28.0.2" - } - }, - "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - } - }, - "@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" - } - }, - "@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.13", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dev": true, - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", - "dev": true, - "requires": { - "@jest/test-result": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@perp/curie-deployments": { - "version": "2022.10.5-1664940982527", - "resolved": "https://registry.npmjs.org/@perp/curie-deployments/-/curie-deployments-2022.10.5-1664940982527.tgz", - "integrity": "sha512-07fv7vu8okF/9GevvOKoeUhOJqQNPAvOSdLj1DBffPtuq/dnUfP5Ck/CJopIm+FjRJVer8VX3Nx7IdQEo/nhBw==" - }, - "@perp/sdk-curie": { - "version": "1.14.0-canary.1", - "resolved": "https://registry.npmjs.org/@perp/sdk-curie/-/sdk-curie-1.14.0-canary.1.tgz", - "integrity": "sha512-dOIreL+T37zBiQsh8EXYMVdgUAXanXBvfF/Zp9ESVn9IxP8p7IaHlOodx0OeL/jPIX/GvFRS684El27VObL6pA==", - "requires": { - "@perp/curie-deployments": "2022.10.5-1664940982527", - "cross-fetch": "3.1.5" - } - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.4.tgz", - "integrity": "sha512-RpmQdHVo8hCEHDVpO39zToS9jOhR6nw+/lQAzRNq9ErrGV9IeHM71XCn68svVl/euFeVW6BWX4p35gkhbOcSIQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@typechain/ethers-v5": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.1.1.tgz", - "integrity": "sha512-o6nffJBxwmeX1ZiZpdnP/tqGd/7M7iYvQC88ZXaFFoyAGh7eYncynzVjOJV0XmaKzAc6puqyqZrnva+gJbk4sw==", - "dev": true, - "requires": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" - } - }, - "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/big.js": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/@types/big.js/-/big.js-6.1.6.tgz", - "integrity": "sha512-0r9J+Zz9rYm2hOTwiMAVkm3XFQ4u5uTK37xrQMhc9bysn/sf/okzovWMYYIBMFTn/yrEZ11pusgLEaoarTlQbA==", - "dev": true - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "28.1.8", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.8.tgz", - "integrity": "sha512-8TJkV++s7B6XqnDrzR1m/TT0A0h948Pnl/097veySPN67VRAgQ4gZ7n2KfJo2rVq6njQjdxU3GCCyDvAeuHoiw==", - "dev": true, - "requires": { - "expect": "^28.0.0", - "pretty-format": "^28.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", - "dev": true - }, - "@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" - }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz", - "integrity": "sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/type-utils": "5.42.0", - "@typescript-eslint/utils": "5.42.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/parser": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.0.tgz", - "integrity": "sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz", - "integrity": "sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz", - "integrity": "sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.42.0", - "@typescript-eslint/utils": "5.42.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.0.tgz", - "integrity": "sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz", - "integrity": "sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/visitor-keys": "5.42.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.0.tgz", - "integrity": "sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.42.0", - "@typescript-eslint/types": "5.42.0", - "@typescript-eslint/typescript-estree": "5.42.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz", - "integrity": "sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.42.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", - "dev": true, - "requires": { - "@jest/transform": "^28.1.3", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^28.1.3", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "big.js": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.1.1.tgz", - "integrity": "sha512-1vObw81a8ylZO5ePrtMay0n018TcftpTA5HFKDaSuiUDBo8biRBtjIobw60OpwuvrGk+FsxKamqN4cnmj/eXdg==", - "peer": true - }, - "bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001430", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001430.tgz", - "integrity": "sha512-IB1BXTZKPDVPM7cnV4iaKaHxckvdr/3xtctB3f7Hmenx3qYBhGtTZ//7EllK66aKXW98Lx0+7Yr0kxBtIt3tzg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "requires": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==" - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "core-js-compat": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz", - "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==", - "dev": true, - "requires": { - "browserslist": "^4.21.4" - } - }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "requires": { - "node-fetch": "2.6.7" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", - "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", - "dev": true, - "requires": {} - }, - "eslint-plugin-jest": { - "version": "26.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", - "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", - "dev": true, - "requires": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "requires": { - "array-back": "^3.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", - "dev": true, - "requires": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", - "import-local": "^3.0.2", - "jest-cli": "^28.1.3" - } - }, - "jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", - "dev": true, - "requires": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - } - }, - "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true - }, - "jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", - "dev": true, - "requires": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } - }, - "jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "dev": true - }, - "jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", - "dev": true, - "requires": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" - } - }, - "jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", - "dev": true, - "requires": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", - "dev": true, - "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", - "dev": true, - "requires": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dev": true, - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==" - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "dev": true - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", - "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==" - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "requires": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==" - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "ts-command-line-args": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.3.1.tgz", - "integrity": "sha512-FR3y7pLl/fuUNSmnPhfLArGqRrpojQgIEEOVzYx9DhTmfIN7C9RWSfpkJEF4J+Gk7aVx5pak8I7vWZsaN4N84g==", - "requires": { - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "requires": {} - }, - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "typechain": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.1.1.tgz", - "integrity": "sha512-uF/sUvnXTOVF2FHKhQYnxHk4su4JjZR8vr4mA2mBaRwHTbwh0jIlqARz9XJr1tA0l7afJGvEa1dTSi4zt039LQ==", - "requires": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "typescript": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" - }, - "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "requires": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "dependencies": { - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" - } - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } } } diff --git a/package.json b/package.json index f406038..47eeb8e 100644 --- a/package.json +++ b/package.json @@ -34,16 +34,14 @@ "validate": "npm run typecheck && npm run test && npm run lint && npm run format-check" }, "dependencies": { + "ethers": "5.7.2", "@perp/sdk-curie": "1.14.0-canary.1", "bignumber.js": "^9.0.2", - "ethers": "5.7.2", - "rxjs": "^7.5.5", - "typechain": "^8.1.1" + "rxjs": "^7.5.5" }, "devDependencies": { "@babel/preset-env": "^7.18.6", "@babel/preset-typescript": "^7.18.6", - "@typechain/ethers-v5": "^10.1.0", "@types/big.js": "^6.1.4", "@types/jest": "^28.1.4", "@types/node": "^18.0.1", @@ -55,5 +53,10 @@ "jest": "^28.1.2", "prettier": "^2.7.1", "typescript": "^4.7.4" + }, + "overrides": { + "@perp/sdk-curie@1.14.0-canary.1": { + "ethers": "5.7.2" + } } } From 73751ec26b3914a9939cd83841776f0367e5eb4f Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Wed, 11 Jan 2023 13:08:26 +0400 Subject: [PATCH 07/14] bump version to 0.6.0-beta --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6eabd5e..3ed1f2e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.5.0", + "version": "0.6.0-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.5.0", + "version": "0.6.0-beta", "license": "MIT", "dependencies": { "@perp/sdk-curie": "1.14.0-canary.1", diff --git a/package.json b/package.json index 47eeb8e..c14042e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.5.0", + "version": "0.6.0-beta", "description": "UXD EVM client", "author": "UXD Protocol", "keywords": [], From 78a2ea898e3ebd44b8e031c80c2776ed54d863b1 Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Wed, 11 Jan 2023 13:14:28 +0400 Subject: [PATCH 08/14] remove type generation from ci --- .github/workflows/validate.yml | 1 - README.md | 10 ---------- 2 files changed, 11 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 7e9a822..6de0ca3 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -10,6 +10,5 @@ jobs: with: node-version: 16 - run: npm ci - - run: sh ./scripts/generate-types.sh - run: npm run format - run: npm run validate diff --git a/README.md b/README.md index a04549a..c1a287e 100644 --- a/README.md +++ b/README.md @@ -24,16 +24,6 @@ npm run format npm i "uxd-evm-client@0.2.3" ``` -### Generation of ethers-contracts types - -https://github.com/dethcrypto/TypeChain - -Run the following command that will generate typing for contracts: - -``` - ./scripts/generate-types.sh -``` - ### Import library code You need to import the UXDController from the library as well as the ethers library From a462ddb22836172aaed533194fd69cee90c5942c Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Wed, 11 Jan 2023 13:18:37 +0400 Subject: [PATCH 09/14] Run format --- src/index.ts | 4 +--- src/lib/PerpWrapper.ts | 44 ++++++++++++++++++++-------------------- src/lib/UXDController.ts | 35 +++++++++++++++++--------------- src/lib/types.d.ts | 2 +- src/utils/price.ts | 2 +- 5 files changed, 44 insertions(+), 43 deletions(-) diff --git a/src/index.ts b/src/index.ts index 12dc998..edfb9d1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,6 +2,4 @@ export * from "./lib/UXDController"; export * from "./lib/client"; export * from "./lib/PerpWrapper"; export * from "./utils/price"; -export { - Address -} from "./lib/types" \ No newline at end of file +export { Address } from "./lib/types"; diff --git a/src/lib/PerpWrapper.ts b/src/lib/PerpWrapper.ts index 8dbe5df..d5397a7 100644 --- a/src/lib/PerpWrapper.ts +++ b/src/lib/PerpWrapper.ts @@ -1,28 +1,28 @@ import { PerpetualProtocol } from "@perp/sdk-curie"; export class PerpWrapper { - private perp: PerpetualProtocol; + private perp: PerpetualProtocol; - constructor({ perp }: { perp: PerpetualProtocol }) { - this.perp = perp; - } + constructor({ perp }: { perp: PerpetualProtocol }) { + this.perp = perp; + } - static async initialize( - rpcEndpoint: string, - chainId: number - ): Promise { - const perp = new PerpetualProtocol({ - chainId, - providerConfigs: [{ rpcUrl: rpcEndpoint }], - }); - await perp.init(); - return new PerpWrapper({ perp }); - } + static async initialize( + rpcEndpoint: string, + chainId: number + ): Promise { + const perp = new PerpetualProtocol({ + chainId, + providerConfigs: [{ rpcUrl: rpcEndpoint }], + }); + await perp.init(); + return new PerpWrapper({ perp }); + } - async getMarkPrice(tickerSymbol: string): Promise { - const prices = await this.perp.markets - .getMarket({ tickerSymbol }) - .getPrices(); - return prices.markPrice.toNumber(); - } -} \ No newline at end of file + async getMarkPrice(tickerSymbol: string): Promise { + const prices = await this.perp.markets + .getMarket({ tickerSymbol }) + .getPrices(); + return prices.markPrice.toNumber(); + } +} diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 8bb5041..12baa03 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -25,8 +25,8 @@ export interface CollateralInfo { export class UXDController { public readonly provider: providers.JsonRpcProvider; - public readonly contract: UXDControllerContract - public readonly uxdTokenContract: UXDTokenContract + public readonly contract: UXDControllerContract; + public readonly uxdTokenContract: UXDTokenContract; constructor({ provider, @@ -39,14 +39,11 @@ export class UXDController { }) { this.provider = provider; - this.contract = UXDController__factory.connect( - controller, - this.provider, - ); + this.contract = UXDController__factory.connect(controller, this.provider); this.uxdTokenContract = UXDToken__factory.connect( redeemable, - this.provider, + this.provider ); } @@ -66,7 +63,10 @@ export class UXDController { receiver?: Address; }): Promise { const nativeAmount = utils.parseUnits(amount.toString(), decimals); - const minNativeAmountOut = utils.parseUnits(minAmountOut.toString(), decimals); + const minNativeAmountOut = utils.parseUnits( + minAmountOut.toString(), + decimals + ); if (collateral) { return this.mintWithERC20({ @@ -106,7 +106,7 @@ export class UXDController { collateral, nativeAmount, minNativeAmountOut, - receiver ?? await signer.getAddress(), + receiver ?? (await signer.getAddress()), { gasLimit: 8_500_000, } @@ -128,11 +128,11 @@ export class UXDController { .connect(signer) .mintWithEth( minNativeAmountOut, - receiver ?? await signer.getAddress(), + receiver ?? (await signer.getAddress()), { value: nativeAmount, gasLimit: 8_500_000, - }, + } ); } @@ -152,7 +152,10 @@ export class UXDController { decimals: number; }): Promise { const nativeAmount = utils.parseUnits(amount.toString(), decimals); - const minNativeAmountOut = utils.parseUnits(minAmountOut.toString(), decimals); + const minNativeAmountOut = utils.parseUnits( + minAmountOut.toString(), + decimals + ); if (collateral) { return this.redeemForERC20({ @@ -192,10 +195,10 @@ export class UXDController { collateral, nativeAmount, minNativeAmountOut, - receiver ?? await signer.getAddress(), + receiver ?? (await signer.getAddress()), { gasLimit: 8_500_000, - }, + } ); } @@ -215,10 +218,10 @@ export class UXDController { .redeemForEth( nativeAmount, minNativeAmountOut, - receiver ?? await signer.getAddress(), + receiver ?? (await signer.getAddress()), { gasLimit: 8_500_000, - }, + } ); } diff --git a/src/lib/types.d.ts b/src/lib/types.d.ts index 4908a26..f3605a1 100644 --- a/src/lib/types.d.ts +++ b/src/lib/types.d.ts @@ -1,2 +1,2 @@ // Makes Ethereum addresses explicit -export type Address = string \ No newline at end of file +export type Address = string; diff --git a/src/utils/price.ts b/src/utils/price.ts index 9976d47..91890db 100644 --- a/src/utils/price.ts +++ b/src/utils/price.ts @@ -1,3 +1,3 @@ export function calculateMinAmountOut(price: number, slippage: number): number { return (price * (1_000 - slippage * 10)) / 1_000; -} \ No newline at end of file +} From dbbdfe85cb717c46262710014352392fef1cc4bb Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Mon, 30 Jan 2023 10:08:10 +0400 Subject: [PATCH 10/14] fix decimals --- package.json | 2 +- src/lib/UXDController.ts | 30 ++++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index c14042e..c6a0aae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.0-beta", + "version": "0.6.1-beta", "description": "UXD EVM client", "author": "UXD Protocol", "keywords": [], diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 12baa03..aa2ef77 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -53,19 +53,26 @@ export class UXDController { signer, collateral, receiver, - decimals, + redeemableDecimals, + collateralDecimals, }: { + // The amount of collateral used to mint. amount: number; + // The minimum amount of redeemable minted minAmountOut: number; signer: Signer; - decimals: number; + redeemableDecimals: number; + collateralDecimals: number; collateral?: Address; receiver?: Address; }): Promise { - const nativeAmount = utils.parseUnits(amount.toString(), decimals); + const nativeAmount = utils.parseUnits( + amount.toString(), + collateralDecimals + ); const minNativeAmountOut = utils.parseUnits( minAmountOut.toString(), - decimals + redeemableDecimals ); if (collateral) { @@ -142,19 +149,26 @@ export class UXDController { signer, collateral, receiver, - decimals, + redeemableDecimals, + collateralDecimals, }: { + // The amount to redeemable token being redeemed. amount: number; + // The min amount of collateral to receive. minAmountOut: number; signer: Signer; collateral?: Address; receiver?: Address; - decimals: number; + redeemableDecimals: number; + collateralDecimals: number; }): Promise { - const nativeAmount = utils.parseUnits(amount.toString(), decimals); + const nativeAmount = utils.parseUnits( + amount.toString(), + redeemableDecimals + ); const minNativeAmountOut = utils.parseUnits( minAmountOut.toString(), - decimals + collateralDecimals ); if (collateral) { From 45e7db24f3bb0df2e89eb139f59bf1cef9e44639 Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Mon, 30 Jan 2023 10:20:42 +0400 Subject: [PATCH 11/14] Add decimals --- package.json | 2 +- src/lib/UXDController.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c6a0aae..20de0d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.1-beta", + "version": "0.6.2-beta", "description": "UXD EVM client", "author": "UXD Protocol", "keywords": [], diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index aa2ef77..2f79e2e 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -33,7 +33,7 @@ export class UXDController { controller, redeemable, }: { - provider: ethers.providers.JsonRpcProvider; + provider: providers.JsonRpcProvider; controller: Address; redeemable: Address; }) { @@ -244,12 +244,14 @@ export class UXDController { spender, amount, signer, + decimals, }: { spender: Address; amount: number; signer: Signer; + decimals: number; }): Promise { - const uxdAmount = utils.parseEther(amount.toString()); + const uxdAmount = utils.parseUnits(amount.toString(), decimals); return this.uxdTokenContract.connect(signer).approve(spender, uxdAmount); } @@ -292,7 +294,7 @@ export class UXDController { this.provider ).allowance(account, spender); - return parseInt(ethers.utils.formatUnits(allowance, decimals)); + return parseInt(utils.formatUnits(allowance, decimals)); } public async getTokenBalance({ @@ -309,6 +311,6 @@ export class UXDController { this.provider ).balanceOf(account); - return parseInt(ethers.utils.formatUnits(balance, decimals)); + return parseInt(utils.formatUnits(balance, decimals)); } } From e8ebe57a65bfb3e396c674d67729d06fe3e7b0f9 Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Thu, 2 Feb 2023 08:01:58 +0400 Subject: [PATCH 12/14] Change calculateMinAmountOut --- package-lock.json | 4 ++-- package.json | 2 +- src/lib/UXDController.ts | 6 +++--- src/utils/price.ts | 8 ++++++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3ed1f2e..ab38bf0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.0-beta", + "version": "0.6.3-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.0-beta", + "version": "0.6.3-beta", "license": "MIT", "dependencies": { "@perp/sdk-curie": "1.14.0-canary.1", diff --git a/package.json b/package.json index 20de0d3..95abfd6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.2-beta", + "version": "0.6.3-beta", "description": "UXD EVM client", "author": "UXD Protocol", "keywords": [], diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 2f79e2e..3b5b943 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -56,7 +56,7 @@ export class UXDController { redeemableDecimals, collateralDecimals, }: { - // The amount of collateral used to mint. + // The amount of collateral used to mint amount: number; // The minimum amount of redeemable minted minAmountOut: number; @@ -152,9 +152,9 @@ export class UXDController { redeemableDecimals, collateralDecimals, }: { - // The amount to redeemable token being redeemed. + // The amount to redeemable token being redeemed amount: number; - // The min amount of collateral to receive. + // The min amount of collateral to receive minAmountOut: number; signer: Signer; collateral?: Address; diff --git a/src/utils/price.ts b/src/utils/price.ts index 91890db..3c4d86a 100644 --- a/src/utils/price.ts +++ b/src/utils/price.ts @@ -1,3 +1,7 @@ -export function calculateMinAmountOut(price: number, slippage: number): number { - return (price * (1_000 - slippage * 10)) / 1_000; +export function calculateMinAmountOut( + price: number, + slippage: number, + decimals: number +): number { + return Number(((price * (1_000 - slippage * 10)) / 1_000).toFixed(decimals)); } From 4a169faad1cdc04a011eca783e33fcab975c0b01 Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Tue, 14 Feb 2023 09:45:44 +0400 Subject: [PATCH 13/14] set gasPrice to reduce estimated fees --- package-lock.json | 4 ++-- package.json | 2 +- src/lib/UXDController.ts | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index ab38bf0..4b95da3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.3-beta", + "version": "0.6.4-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.3-beta", + "version": "0.6.4-beta", "license": "MIT", "dependencies": { "@perp/sdk-curie": "1.14.0-canary.1", diff --git a/package.json b/package.json index 95abfd6..878fa56 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.3-beta", + "version": "0.6.4-beta", "description": "UXD EVM client", "author": "UXD Protocol", "keywords": [], diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 3b5b943..9b82966 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -1,7 +1,6 @@ import { BigNumber, ContractTransaction, - ethers, Signer, providers, utils, @@ -116,6 +115,7 @@ export class UXDController { receiver ?? (await signer.getAddress()), { gasLimit: 8_500_000, + gasPrice: 110_000_000, } ); } @@ -139,6 +139,7 @@ export class UXDController { { value: nativeAmount, gasLimit: 8_500_000, + gasPrice: 110_000_000, } ); } @@ -212,6 +213,7 @@ export class UXDController { receiver ?? (await signer.getAddress()), { gasLimit: 8_500_000, + gasPrice: 110_000_000, } ); } @@ -235,6 +237,7 @@ export class UXDController { receiver ?? (await signer.getAddress()), { gasLimit: 8_500_000, + gasPrice: 110_000_000, } ); } From 06020a05b94d01d636d8035debc04d806d7df4de Mon Sep 17 00:00:00 2001 From: Gregory Neut Date: Tue, 2 May 2023 09:59:44 +0400 Subject: [PATCH 14/14] Fix parseInt -> parseFloat --- package-lock.json | 4 ++-- package.json | 2 +- src/lib/UXDController.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4b95da3..5daf5bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.4-beta", + "version": "0.6.5-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.4-beta", + "version": "0.6.5-beta", "license": "MIT", "dependencies": { "@perp/sdk-curie": "1.14.0-canary.1", diff --git a/package.json b/package.json index 878fa56..533dc3d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@uxdprotocol/uxd-evm-client", - "version": "0.6.4-beta", + "version": "0.6.5-beta", "description": "UXD EVM client", "author": "UXD Protocol", "keywords": [], diff --git a/src/lib/UXDController.ts b/src/lib/UXDController.ts index 9b82966..17bb1c5 100644 --- a/src/lib/UXDController.ts +++ b/src/lib/UXDController.ts @@ -297,7 +297,7 @@ export class UXDController { this.provider ).allowance(account, spender); - return parseInt(utils.formatUnits(allowance, decimals)); + return parseFloat(utils.formatUnits(allowance, decimals)); } public async getTokenBalance({ @@ -314,6 +314,6 @@ export class UXDController { this.provider ).balanceOf(account); - return parseInt(utils.formatUnits(balance, decimals)); + return parseFloat(utils.formatUnits(balance, decimals)); } }